文章目录
- 前言
- 一、简介
- 二、Maven安装配置
- 三、Maven POM
- 三、IDEA配置Maven
- 四、IDEA新建Maven项目
- 五、Maven坐标:
- 六、Maven依赖
- 依赖声明
- 获取依赖坐标
前言
以为我是打算学Spring的,只是用Maven仓库添加依赖,所以只是看了Maven的皮毛。不过对于想用Maven添加依赖而不是导入一大堆jar包的项目够用了
一、简介
- Maven是一款 基于 Java 平台的项目管理和整合工具,它将项目的开发和管理过程抽象成一个项目对象模型(POM)。开发人员只需要做一些简单的配置,Maven 就可以自动完成项目的编译、测试、打包、发布以及部署等工作。
- Maven 是使用 Java 语言编写的, 同样具有跨平台性
- Maven 能够帮助开发者完成以下任务:
- 构建项目
- 生成文档
- 创建报告
- 维护依赖
- 软件配置管理
- 发布
- 部署
- Maven 简化并标准化了项目构建过程。它将项目的编译,生成文档,创建报告,发布,部署等任务无缝衔接,构建成一套完整的生命周期
- Maven 的主要目标 :
- 一个可重复使用,可维护且易于理解的项目综合模型
- 与此模型进行交互的工具和插件
- Maven对项目的目录结构、测试用例命名方式等内容都做了规定,Maven 项目构建过程中,会自动创建默认项目结构,开发人员仅需要在相应目录结构下放置相应的文件.
表:项目源代码文件,资源文件和其他配置在 Maven 项目中的默认位置。
文件 | 目录 |
Java 源代码 | src/main/java |
资源文件 | src/main/resources |
测试源代码 | src/test/java |
测试资源文件 | src/test/resources |
打包输出文件 | target |
编译输出文件 | target/classes |
二、Maven安装配置
- 具有java环境:
- jdk的安装与配置
- idea的安装与配置:idea 2020.1(包含激活插件)
链接:https://pan.baidu.com/s/1KzwGq2azLBf_2o7tQiMwSg?pwd=csdn
提取码:csdn
- https://maven.apache.org/download.cgi 下载maven
- 配置系统环境变量MAVEN_HOME(参考配置JDK环境变量)
- 在命令提示符下执行
mvn -version
,输出结果如下图所示,证明 Maven 配置成功。
三、Maven POM
- POM(Project Object Model,项目对象模型)是 Maven 的基本组件,它是以 xml 文件的形式存放在项目的根目录下,名称为 pom.xml。
- POM 中定义了项目的基本信息,用于描述项目如何构建、声明项目依赖等等。
- 当 Maven 执行一个任务时,它会先查找当前项目的 POM 文件,读取所需的配置信息,然后执行任务。在 POM 中可以设置如下配置:
- 项目依赖
- 插件
- 目标
- 构建时的配置文件
- 版本
- 开发者
- 邮件列表
- 在创建 POM 之前,首先要确定工程组(groupId),及其名称(artifactId)和版本(version),在仓库中这些属性是项目的唯一标识。 (GAV)
- POM示例:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>net.biancheng.www</groupId>
<artifactId>maven</artifactId>
<version>0.0.1-SNAPSHOT</version>
</project>
所有的 Maven 项目都有一个 POM 文件,所有的 POM 文件都必须有 project 元素和 3 个必填字段:groupId、artifactId 以及 version。
实际开发过程中,Maven 的 pom.xml 文件不需要手工编写,Maven 提供了大量的原型(Archetype)插件来创建项目,包括项目结构和 pom.xml。
节点 | 描述 |
groupId | 项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写,例如 net.biancheng.www。 |
artifactId | 项目 ID,通常是项目的名称。groupId 和 artifactId 一起定义了项目在仓库中的位置。 |
version | 项目版本。 |
三、IDEA配置Maven
- 配置maven(目录/配置文件/本地仓库)
2. Maven配置阿里云镜像:
maven/conf/setting.xml中修改为
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>![img](images/8LDO48C$8@%5BGWU0353$FOVS.png)http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
四、IDEA新建Maven项目
- 选择模型
- 配置项目名称和GAV
- 设置 Maven 的主目录和本地仓库信息
- Maven 项目目录结构:
- 目录及文件说明:
- helloMaven:项目名,包含 src 文件夹和 pom.xml。
- src/main/java:用于存放项目的 Java 文件。
- src/main/resources:用于存放项目资源文件。
- src/test/java:用于存放所有测试 Java 文件,如 JUnit 测试类。
- src/test/resources :用于存放测试资源文件。
- target:项目输出位置,用于存放编译后的文件。
- pom.xml:Maven 项目核心配置文件。
五、Maven坐标:
世界上任何一个构件都可以使用 Maven 坐标并作为其唯一标识,Maven 坐标包括 groupId、artifactId、version、packaging 等元素,只要用户提供了正确的坐标元素,Maven 就能找到对应的构件。
<project>
//项目组ID,取值一般是项目所属公司或组织的网址或 URL的反写
<groupId>net.biancheng.www</groupId>
//项目 ID,通常是项目的名称。
<artifactId>helloMaven</artifactId>
//项目的打包方式,默认值为 jar。
<packaging>jar</packaging>
//版本
<version>1.0-SNAPSHOT</version>
</project>
以上 4 个元素中 groupId、artifactId 和 version 是必须定义的,packaging 是可选的
六、Maven依赖
依赖声明
当 Maven 项目需要声明某一个依赖时,通常只需要在其 POM 中配置该依赖的坐标信息,Maven 会根据坐标自动将依赖下载到项目中。
例如,某刻项目使用servlet-api作为其依赖:在pom.xml的标签中添加坐标
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
获取依赖坐标
绝大部分依赖的 Maven 坐标都能在 https://mvnrepository.com/ 中获取。
- 首页搜索依赖
- 选择合适版本,将依赖详情页下方Maven坐标复制到pom.xml中