1. clean
清理命令,执行clean会删除target目录及内容。
2. compile
编译命令,作用是将src/main/java 下的文件编译为class文件输出到 target目录下。
查看target目录,class文件已生成,编译完成。
3. test
测试命令,会执行 src/test/java 下的单元测试类。下图为测试结果,运行1个测试用例,全部成功。
查看target目录,class文件已生成,编译完成。不仅会编译src/test/java下的代码还会编译src/main/java下的代码。
4. package
打包命令,会对src/main/java、src/test/java下的代码进行编译,生成target目录并且打完包放在target目录下。
pom.xml可以指定打成jar包还是war包,一般对Java工程打成jar包,对web工程打成war包。
5. install
安装命令,会对src/main/java、src/test/java下的代码进行编译,生成target目录,打完包放在target目录下,并且将war包发布到本地仓库。
从以上5个命令的运行结果可以看出:当后面的命令执行时,前面的操作过程也都会自动执行。
6. 生命周期
maven对项目构建过程分为三套相互独立的生命周期:
1、清理生命周期:clean命令,在进行真正的构建之前进行一些清理工作(清除项目编译信息)。
默认生命周期:构建的核心部分,编译、测试、打包、安装、部署。
3、站点生命周期:生成项目报告,站点,发布站点。
7. 概念模型
1、项目对象模型:指的是pom.xml文件,通过pom.xml文件定义项目的坐标、项目依赖、项目信息、插件目标(项目运行环境信息)等。
2、依赖管理模型:指项目对象模型中的项目依赖jar包,通过maven的依赖管理对项目所依赖的jar包进行统一管理。
<!-- 依赖关系 -->
<dependencies>
<!-- 此项目运行使用 junit,所以此项目依赖 junit -->
<dependency>
<!-- junit 的项目名称-公司组织的名称 -->
<groupId>junit</groupId>
<!-- junit 的模块名称-项目名 -->
<artifactId>junit</artifactId>
<!-- junit 版本-版本号 -->
<version>4.9</version>
<!-- 依赖范围:单元测试时使用 junit -->
<scope>test</scope>
</dependency>
<dependencies>
从3个仓库查找下载jar包:本地仓库,远程仓库,中央仓库。
3、构建生命周期:项目构建包括清理、编译、测试、报告、打包、部署,maven将这些过程规范为一个生命周期。每一个构建项目的命令都对应了maven底层一个插件。