Maven简易教程
文章目录
Maven 是 Java 工程包和项目管理工具,方便 Java 工程的管理。
Maven 环境搭建
Mac 电脑
1 | $ brew install maven |
注意 ⚠️ 需要在电脑下载 brew
Windows 电脑
https://maven.apache.org/官网下载,并将 bin 目录添加到 path 中
1 | $ mvn -version |
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 | <mirrors> |
第二步: pom.xml 文件里添加:
1 | <repositories> |
Maven 中目录结构
- src/ - 项目工程目录
- main -业务代码目录
- java/ - java 代码目录
- resources/ - 静态资源目录
- webapp/ - web 工程文件目录
- main -业务代码目录
- 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 生命周期中使用的阶段。
作者: Fynn
链接: https://fynn90.github.io/2021/04/04/Maven%E7%AE%80%E6%98%93%E6%95%99%E7%A8%8B/
本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可