Java初级项目学习第一讲:Maven项目构建

Maven项目构建

一、什么是Maven

Maven这个单词来自于意第绪语(犹太语),意为知识的积累。Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。

二、Maven的作用

  • Maven 统一集中管理好所有的依赖包,不需要程序员再去寻找。
  • 对应第三方组件用到的共同 jar,Maven 自动解决重复和冲突问题。
  • Maven 作为一个开放的架构,提供了公共接口,方便同第三方插件集成。程序员可以将自己需要的插件,动态地集成到 Maven,从而扩展新的管理功能。
  • Maven 可以统一每个项目的构建过程,实现不同项目的兼容性管理。

三、Maven生命周期

maven中定义的3套生命周期:

  1. clean生命周期:目的是清理项目,它包含三个阶段: pre-clean 执行一些需要在clean之前完成的工作; clean 移除所有上一次构建生成的文件; post-clean 执行一些需要在clean之后立刻完成的工作。
  2. 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 运行集成和发布环境,将测试后的最终包以构件的方式发布到远程仓库中,方便所有程序员共享
  1. site生命周期:是建立和发布项目站点,Maven能够基于pom.xml所包含的信息,自动生成一个友好的站点,方便团队交流和发布项目信息。主要包含以下4个阶段:pre-site 执行一些需要在生成站点文档之前完成的工作;site 生成项目的站点文档;post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备;site-deploy 将生成的站点文档部署到特定的服务器上。

四、构建Maven项目本地仓库

1、下载Maven
Maven下载地址
打开链接,点击下载。
Java初级项目学习第一讲:Maven项目构建_第1张图片也可以选择历史版本下载。
Java初级项目学习第一讲:Maven项目构建_第2张图片
Java初级项目学习第一讲:Maven项目构建_第3张图片
2、安装Maven
下载完成后,解压即可。建议将资源库放在C盘外的位置。我的位置是:C:\Program Files\Java\apache-maven-3.8.5
Java初级项目学习第一讲:Maven项目构建_第4张图片

3、配置Maven环境变量
新建系统环境变量。
变量名:MAVEN_HOME
变量值:C:\Program Files\Java\apache-maven-3.8.5(设置自己maven仓库位置)
Java初级项目学习第一讲:Maven项目构建_第5张图片
在系统变量path中追加:C:\Program Files\Java\apache-maven-3.8.5\bin(设置自己maven仓库位置)

Java初级项目学习第一讲:Maven项目构建_第6张图片
检验Maven是否已经安装并且配置好了环境变量,通过DOS命令检查一下是否安装成功 使用命令:mvn -v
Java初级项目学习第一讲:Maven项目构建_第7张图片

4、配置Maven本地仓库
在你的安装路径(我的是:C:\Program Files\Java\apache-maven-3.8.5)下,新建repository文件夹,用于maven的本地仓库Java初级项目学习第一讲:Maven项目构建_第8张图片在安装路径找到settings.xml文件,如在:C:\Program Files\Java\apache-maven-3.8.5\conf 目录下
Java初级项目学习第一讲:Maven项目构建_第9张图片用记事本打开,快捷键 Ctrl + F 查找 可以查找到如下的一段代码

<localRepository>/path/to/local/repo</localRepository>

Java初级项目学习第一讲:Maven项目构建_第10张图片localRepository节点默认是被注释掉的,现在需要将localRepository节点的值改为之前创建的目录C:\Program Files\Java\apache-maven-3.8.5\repository
Java初级项目学习第一讲:Maven项目构建_第11张图片localRepository节点用于配置本地仓库,本地仓库其实起到了一个缓存的作用,它的默认地址是 C:\Users\用户名.m2。当我们从maven中获取jar包的时候,maven首先会在本地仓库中查找,如果本地仓库有则返回;如果没有则从远程仓库中获取包,并在本地库中保存。此外,我们在maven项目中运行mvn install,项目将会自动打包并安装到本地仓库中。

运行DOS命令

mvn help:system

Java初级项目学习第一讲:Maven项目构建_第12张图片配置成功的话,那么repository文件夹会存在一些文件 ,路径:C:\Program Files\Java\apache-maven-3.8.5\repository

5、eclipse配置Maven环境
找到为Window->Preferences->Maven->Installations,右侧点击Add
Java初级项目学习第一讲:Maven项目构建_第13张图片选择maven的安装目录,然后点击完成
Java初级项目学习第一讲:Maven项目构建_第14张图片选中刚刚添加的maven,并点击Apply and close
Java初级项目学习第一讲:Maven项目构建_第15张图片打开Window->Preferences->Maven->User Settings,配置Maven并点击Apply and close
Java初级项目学习第一讲:Maven项目构建_第16张图片
6、IDEA配置Maven环境

点击IDEA左上角的 File -> Settings -> Build, Execution, Deployment ->在 Build Tools 中找到Maven,修改安装目录、设置、仓库的所在位置Java初级项目学习第一讲:Maven项目构建_第17张图片
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>

Java初级项目学习第一讲:Maven项目构建_第18张图片

你可能感兴趣的:(Java初级项目学习,java,maven)