Maven项目构建
一、什么是Maven
Maven这个单词来自于意第绪语(犹太语),意为知识的积累。Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。
二、Maven的作用
- Maven 统一集中管理好所有的依赖包,不需要程序员再去寻找。
- 对应第三方组件用到的共同 jar,Maven 自动解决重复和冲突问题。
- Maven 作为一个开放的架构,提供了公共接口,方便同第三方插件集成。程序员可以将自己需要的插件,动态地集成到 Maven,从而扩展新的管理功能。
- Maven 可以统一每个项目的构建过程,实现不同项目的兼容性管理。
三、Maven生命周期
maven中定义的3套生命周期:
- clean生命周期:目的是清理项目,它包含三个阶段: pre-clean 执行一些需要在clean之前完成的工作; clean 移除所有上一次构建生成的文件; post-clean 执行一些需要在clean之后立刻完成的工作。
- default生命周期:是maven主要的生命周期,主要被用于构建应用。
名称 | 说明 |
---|---|
validate | 验证项目结构是否正常,必要的配置文件是否存在 |
initialize | 做构建前的初始化操作,比如初始化参数、创建必要的目录等 |
generate-sources | 产生在编译过程中需要的源代码 |
process-sources | 处理源代码,比如过滤值 |
generate-resources | 产生主代码中的资源在 classpath 中的包 |
process-resources | 将资源文件复制到 classpath 的对应包中 |
compile | 编译项目中的源代码 |
process-classes | 产生编译过程中生成的文件 |
generate-test-sources | 产生编译过程中测试相关的代码 |
process-test-sources | 处理测试代码 |
generate-test-resources | 产生测试中资源在 classpath 中的包 |
process-test-resources | 将测试资源复制到 classpath 中 |
test-compile | 编译测试代码 |
process-test-classes | 产生编译测试代码过程的文件 |
test | 运行测试案例 |
prepare-package | 处理打包前需要初始化的准备工作 |
package | 将编译后的 class 和资源打包成压缩文件,比如 jar或war |
pre-integration-test | 做好集成测试前的准备工作,比如集成环境的参数设置 |
integration-test | 集成测试 |
post-integration-test | 完成集成测试后的收尾工作,比如清理集成环境的值 |
verify | 检测测试后的包是否完好 |
install | 将打包的组件以构件的形式,安装到本地依赖仓库中,以便共享给本地的其他项目 |
deploy | 运行集成和发布环境,将测试后的最终包以构件的方式发布到远程仓库中,方便所有程序员共享 |
- site生命周期:是建立和发布项目站点,Maven能够基于pom.xml所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。主要包含以下4个阶段:pre-site 执行一些需要在生成站点文档之前完成的工作;site 生成项目的站点文档;post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;site-deploy 将生成的站点文档部署到特定的服务器上。
四、构建Maven项目本地仓库
1、下载Maven
Maven下载地址
打开链接,点击下载。
也可以选择历史版本下载。
2、安装Maven
下载完成后,解压即可。建议将资源库放在C盘外的位置。我的位置是:C:\Program Files\Java\apache-maven-3.8.5
3、配置Maven环境变量
新建系统环境变量。
变量名:MAVEN_HOME
变量值:C:\Program Files\Java\apache-maven-3.8.5(设置自己maven仓库位置)
在系统变量path中追加:C:\Program Files\Java\apache-maven-3.8.5\bin(设置自己maven仓库位置)
检验Maven是否已经安装并且配置好了环境变量,通过DOS命令检查一下是否安装成功 使用命令:mvn -v
4、配置Maven本地仓库
在你的安装路径(我的是:C:\Program Files\Java\apache-maven-3.8.5)下,新建repository文件夹,用于maven的本地仓库在安装路径找到settings.xml文件,如在:C:\Program Files\Java\apache-maven-3.8.5\conf 目录下
用记事本打开,快捷键 Ctrl + F 查找 可以查找到如下的一段代码
<localRepository>/path/to/local/repo</localRepository>
localRepository节点默认是被注释掉的,现在需要将localRepository节点的值改为之前创建的目录C:\Program Files\Java\apache-maven-3.8.5\repository
localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。
运行DOS命令
mvn help:system
配置成功的话,那么repository文件夹会存在一些文件 ,路径:C:\Program Files\Java\apache-maven-3.8.5\repository
5、eclipse配置Maven环境
找到为Window->Preferences->Maven->Installations,右侧点击Add
选择maven的安装目录,然后点击完成
选中刚刚添加的maven,并点击Apply and close
打开Window->Preferences->Maven->User Settings,配置Maven并点击Apply and close
6、IDEA配置Maven环境
点击IDEA左上角的 File -> Settings -> Build, Execution, Deployment ->在 Build Tools 中找到Maven,修改安装目录、设置、仓库的所在位置
7、设置Maven使用镜像
对Maven的设置都通过修改其自带的setting.xml进行,打开Maven所在的文件夹->config文件夹->使用编辑器打开setting.xml。由于Maven自身的镜像国内使用速度慢的离谱,所以首先我们设置其下载镜像为国内的镜像
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>