Maven 是 Java 工程包和项目管理工具,方便 Java 工程的管理。

img

Maven 环境搭建

Mac 电脑

1
$ brew install maven

注意 ⚠️ 需要在电脑下载 brew

Windows 电脑

https://maven.apache.org/官网下载,并将 bin 目录添加到 path 中

1
2
3
4
5
6
$ mvn -version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/Cellar/maven/3.6.3_1/libexec
Java version: 14.0.1, vendor: N/A, runtime: /usr/local/Cellar/openjdk/14.0.1/libexec/openjdk.jdk/Contents/Home
Default locale: zh_CN_#Hans, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"

IDEA 配置

可以手动修改 IDEA 会自动带有 Maven。

可以手动修改 Maven 的配置信息:Maven 命令路径、settings.xml配置文件路径

Maven 包管理

https://mvnrepository.com/ 可以查看到所有可下载的 Maven 包

项目依赖包

在仓库找到需要使用的 依赖包后,将依赖包的 xml 信息复制到 pom.xml中 到 dependencies中。然后通过 IDEA 自动更新

工程运行插件

一些工程运行时需要使用的工具包,被称为 插件。例如apache tomcat插件,帮助我们在开发阶段启动一个服务器运行我们代码。

插件 可以在 https://maven.apache.org/ 官网 plugins 中找到。

将信息负责到 pom.xml 中的 plugins 中

修改 Maven 镜像请求地址

Maven 镜像在国外访问速度可能较慢,我们只需要在settings.xml中将将镜像请求地址修改为 国内的:

第一步:修改 maven 根目录下的 conf 文件夹中的 setting.xml 文件,内容如下:

1
2
3
4
5
6
7
8
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>

第二步: pom.xml 文件里添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

Maven 中目录结构

  • src/ - 项目工程目录
    • main -业务代码目录
      • java/ - java 代码目录
      • resources/ - 静态资源目录
      • webapp/ - web 工程文件目录
  • target/ - src/编译之后的文件目录
  • pox.xml - 工程依赖包和插件配置文件

Maven 配置文件

Maven 有三种配置文件:

  • settings.xml - 全局配置文件
  • settings.xmlnote - 用户配置
  • pom.xml - 项目配置文件

它们三个配置文件配置项可能相同,如果项目则优先级是: pom.xml > settings.xmlnote > settings.xml.

POM.xml

  • 项目基础配置信息

  • 项目构建环境配置信息

  • 项目仓库管理配置

  • 项目依赖管理配置

  • 项目报表信息配置

  • 项目部署分发配置

Maven 命令

命令 说明
mvn --version 查看版本
mvn archetype:generate 构建 Maven 工程命令.PS maven 3.0.5 之前的命令是 mvn archetype:create
mvn archetype:generate -DgroupId=org.example -DartifactId=trains-03 -DpackageName=com.explame -DarchetypeArtifactId=maven-archetype-quickstart
mvn clean 清理 target 目录下生成的文件
mvn compile 将 Java 文件编译成字节码文件并保存到 target 目录下
mvn package 打包命令,将工程打包成 jar 包或 war 包。存储在 target 目录中。
mvn tomcat:run 用 maven-tomcat 插件 运行项目
mvn:test 自动执行 test 目录中的测试案例,并生成对应的测试报告文档。
mvn site 生成项目报表命令
mvn dependency:tree 查看项目依赖树命令
mvn install 将打包好的 jar 包或 war 包添加到本地仓库中
mvn package 将本地的 jar 包或 war 包发布到私有服务器
mvn exec:java 执行项目。mvn exec:java -Dexec.mainClass="org.example.App"

Maven 生命周期

Maven 生命周期是 Maven 项目的标准操作接口,统一了 Maven 项目管理的方式.

它分为三种生命周期:

  • clean lifecycle: 项目构建之前的清理环节
  • default lifecycle: 项目编译和打包环节
  • site lifecycle: 项目报告,站点信息,发布环节

生命周期命令可以嵌套执行,例如: mvn clean compile

Maven 依赖范围

Maven 中我们可以指定 依赖包的在 maven 生命周期中使用的阶段。