Java---Maven详解

 一段新的启程, 披荆斩棘而前, 心中的梦想, 照亮每个黑暗的瞬间。

无论风雨多大, 我们都将坚强, 因为希望的火焰, 在胸中永不熄灭。

成功不是终点, 而是每一步的脚印, 用汗水浇灌, 梦想终会成真。

目录

一,Maven的介绍 

二,Maven的安装

 三,IDEA集成Maven

 四,创建Maven项目

 五,Maven的坐标

 六,导入Mavne项目

七,依赖配置​编辑

八,依赖传递

 九,依赖范围

 十,依赖的生命周期

一,Maven的介绍 

maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建。

作用:

        ①方便的依赖管理

        ②统一的项目结构

        ③标准的项目构建流程

仓库:用于存储资源,管理各种jar包

本地仓库:自己计算机目录上的一个目录。

中央仓库:由Maven团队维护的全球唯一的。

远程仓库:一般由公司团队搭建的私有仓库。

 

二,Maven的安装

 三,IDEA集成Maven

 四,创建Maven项目

注意:

在 IntelliJ IDEA 中创建一个 Maven 项目时,选择合适的 Maven Archetype 可以帮助你快速生成项目的基础结构。以下是一些常用的 Maven Archetype 选项,根据你的项目类型进行选择:

  1. maven-archetype-quickstart

    • 适用于创建简单的 Java 项目。
    • 命令行选择:maven-archetype-quickstart
    • 描述:一个简单的 Maven 项目骨架,包含基础的目录结构和一个示例 Java 类。
  2. maven-archetype-webapp

    • 适用于创建 Java Web 应用程序。
    • 命令行选择:maven-archetype-webapp
    • 描述:用于生成一个基础的 Java Web 应用程序目录结构,包括一个基本的 web.xml 文件。
  3. spring-boot-archetype

    • 适用于创建 Spring Boot 项目。
    • 命令行选择:spring-boot-sample-archetype
    • 描述:一个用于生成 Spring Boot 应用的骨架项目,包含基本的配置和示例代码。
  4. maven-archetype-j2ee-simple

    • 适用于创建简单的 Java EE 应用程序。
    • 命令行选择:maven-archetype-j2ee-simple
    • 描述:生成一个简单的 Java EE 项目结构,适合初学者快速上手。
  5. maven-archetype-site-simple

    • 适用于创建一个包含 Maven 站点生成的项目。
    • 命令行选择:maven-archetype-site-simple
    • 描述:用于生成一个带有 Maven 站点生成配置的项目骨架。

以下是如何在 IntelliJ IDEA 中选择和使用 Maven Archetype 创建项目的步骤:

  1. 打开 IntelliJ IDEA 并选择 File -> New -> Project

  2. 在新项目向导中,选择 Maven,然后点击 Next

  3. 输入项目的 GroupIdArtifactId,并选择 Next

  4. Advanced Settings 中,你可以选择 Create from archetype,然后点击 Add Archetype 来手动添加一个 Archetype。

    • 输入相应的 Archetype GroupIdArchetype ArtifactId 和 Version
    • 例如:对于 maven-archetype-quickstart,输入:
      • Archetype GroupId: org.apache.maven.archetypes
      • Archetype ArtifactId: maven-archetype-quickstart
      • Version: 1.4(具体版本可根据需求选择)
  5. 选择你添加的 Archetype,然后点击 Next,完成项目的创建。

通过这些步骤,你可以快速创建一个符合你需求的 Maven 项目骨架,并开始你的开发工作。

 五,Maven的坐标

什么是坐标?

Maven中的坐标是资源的唯一标识,通过该坐标可以唯一定位资源位置

使用坐标来定义项目或引入项目中需要的依赖

Maven坐标主要组成

① groupId:定义当前Maven项目隶属组织名称(通常是域名反写,列如:com.yuanzhen)

②artifactId:定义当前Maven项目名称(通常是模块名称,列如:goods-service)

③version:定义当前项目版本号

 六,导入Mavne项目

七,依赖配置

八,依赖传递

依赖是具有传递性的

直接依赖:在当前项目中通过依赖配置建立的依赖关系

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

请看下图:

 九,依赖范围

 十,依赖的生命周期

 

 

 注意:同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/754094.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

动手学深度学习(Pytorch版)代码实践 -计算机视觉-41目标检测数据集

41目标检测数据集 import os import pandas as pd import torch import torchvision import matplotlib.pylab as plt from d2l import torch as d2l# 数据集下载链接 # http://d2l-data.s3-accelerate.amazonaws.com/banana-detection.zip# 读取数据集 #save def read_data_b…

互联网寒冬VS基建饱和:计算机专业会重蹈土木工程的覆辙吗?

随着高考落幕,考生和家长们开始着手专业选择与志愿填报,"热门"与"冷门"专业的话题引起了广泛关注。而计算机专业无疑是最受瞩目的专业领域之一。 在过去的十几年里,计算机专业以其出色的就业率和薪酬水平,一…

2024最新版Redis常见面试题包含详细讲解

Redis适用于哪些场景? 缓存分布式锁降级限流消息队列延迟消息队 说一说缓存穿透 缓存穿透的概念 用户频繁的发起恶意请求查询缓存中和数据库中都不存在的数据,查询积累到一定量级导致数据库压力过大甚至宕机。 缓存穿透的原因 比如正常情况下用户发…

encode()方法——编码字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 编码是将文本(字符串)转换成字节流,Unicode格式转换成其他编码格式。在Python中提供了encode()方法&am…

如何将 ONLYOFFICE 文档 Linux 版更新到 v8.1

本指南将向您展示如何将 ONLYOFFICE 文档 Linux 版本更新到最新 8.1 版本。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写表单、PDF 和电子书,可多人在线协作,支持 AI 集…

什么是ArchiMate?有优缺点和运用场景?

一、什么是ArchiMate? ArchiMate是一种由The Open Group发布的企业级标准,它是一种整合多种架构的可视化业务分析模型语言,也属于架构描述语言(ADL)。ArchiMate主要从业务、应用和技术三个层次(Layer)&…

CentOS停更无忧,中国操作系统闯入后CentOS时代

国际开源服务器操作系统CentOS停更,引发了中国操作系统火线进化——开源龙蜥操作系统社区涌现出大量的技术创新,相关创新技术迅速转化为商业化产品。2024年6月,浪潮信息与龙蜥社区联合发布服务器操作系统云峦KeyarchOS V5.8 新版本&#xff0…

哨兵模式--哨兵节点的功能?

哨兵节点的主要功能有: 集群监控:监控 主、从节点的健康状况;自动切换主节点:当 Master 运行故障,哨兵启动自动故障恢复流程:从 slave 中选择一台作为新 master。通知:让 slave 执行 replicaof…

笔记本电脑为什么可以链接热点,却无法连接WiFi

① 在开始菜单的搜索栏中,输入 cmd 。 ② 右击上方该程序,选择 以管理员身份运行 ③ 输入:nestsh winsock reset ④ 敲击回车,显示如下页面 ⑤ 再输入 ipconfig/flushdns 回车 ⑥ 然后重启电脑,OVER!

赛目科技三度递表:净利率及资产回报率不断下滑,经营成本越来越高

《港湾商业观察》施子夫 5月29日,北京赛目科技股份有限公司(以下简称,赛目科技)第三次递表港交所,公司拟主板上市,独家保荐机构为光银国际。 公开信息显示,赛目科技此前曾于2022年12月&#x…

grpc学习golang版( 一、基本概念与安装 )

系列文章目录 第一章 grpc基本概念与安装 第二章 grpc入门示例 第三章 proto文件数据类型 第四章 多服务示例 第五章 多proto文件示例 第六章 服务器流式传输 第七章 客户端流式传输 第八章 双向流示例 文章目录 一、基本介绍1.1 什么是rpc1.2 什么是grpc1.3 grpc的作用1.4 grp…

添加用户页面(Flask+前端+MySQL整合)

首先导入Flask库和pymysql库。Flask用于创建Web应用程序,pymysql用于连接和操作MySQL数据库。 from flask import Flask, render_template, request import pymysql创建一个Flask应用实例。__name__参数告诉Flask使用当前模块作为应用的名称。 app Flask(__name_…

【C语言】解决C语言报错:Buffer Overflow

文章目录 简介什么是Buffer OverflowBuffer Overflow的常见原因如何检测和调试Buffer Overflow解决Buffer Overflow的最佳实践详细实例解析示例1:数组越界写入示例2:未检查输入长度示例3:字符串操作错误示例4:动态内存分配 进一步…

深度相机识别物体——实现数据集准备与数据集分割

一、数据集准备——Labelimg进行标定 1.安装labelimg——pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple 2.建立相应的数据集存放文件夹 3.打开labelimg,直接在命令行输入labelimg即可,并初始化 4.开始标注,设置标注好…

JeecgBoot新建模块

引言 jeecg-boot设置了demo, system等默认模块。在二次开发中,常常需要进行模块扩展。比如新增一个订单模块或支付模块。如何准确的新增模块,在此文进行记录。 步骤 新建模块 在项目点击右键,新建模块。 如下图。 注意:报名需…

4. node联调devtools

4. node联调devtools 把node代码放在开发者工具执行代码执行命令 node --inspect-brk js文件浏览器执行命令 chrome://inspect/#devices检测到文件之后会有个点击选项,点击进入就能调试自己的代码 有了开发者工具调试之后我们可以给自己的吐环境脚本在完善一下,当获取的参数是…

【算法刷题 | 动态规划14】6.28(最大子数组和、判断子序列、不同的子序列)

文章目录 35.最大子数组和35.1题目35.2解法:动规35.2.1动规思路35.2.2代码实现 36.判断子序列36.1题目36.2解法:动规36.2.1动规思路36.2.2代码实现 37.不同的子序列37.1题目37.2解法:动规37.2.1动规思路37.2.2代码实现 35.最大子数组和 35.1…

天池大赛Higress插件官方demo详细部署+调试

天池大赛Higress插件官方demo详细部署调试 契机 ⚙ 使用Higress AI网关优化AI调用成本。就是基于向量召回相似问题的缓存,降低LLM API调用成本。就是开发一个网关插件做QA缓存嘛。前文已经成功复现了hello-world插件,这次结合官方提供的AI-Cache插件自…

私域流量的深度解析与电商应用

一、私域流量的核心价值 在当今数字化时代,流量成为了企业发展的重要资源。与公域流量相比,私域流量以其独有的私有性和可复用性,为企业提供了与用户建立深度联系的机会。私域流量不仅有助于企业精准触达目标用户,还能通过数据分…

Docker中修改TiDB数据库密码(类似mysql)

1.Docker容器运行TiDB pingcap/tidb:last 2.登陆容器系统: 3.在容器中安装mysql客户端: 4.空密码登陆TiDB 5.修改TiDB密码并退出 6.使用修改后的密码登陆验证: