项目生命周期
清理
初始化
编译
測试
打包
部署
三套生命周期
1、clean
pre-clean 运行一些须要在clean之前完毕的工作
clean 移除全部上一次构建生成的文件
post-clean 运行一些须要在clean之后立马完毕的工作
2、compile
validate
generate-sources
process-sources
generate-resources
process-resources 复制并处理资源文件。至目标文件夹,准备打包。
compile 编译项目的源码。 process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources 复制并处理资源文件,至目标測试文件夹。
test-compile 编译測试源码。
process-test-classes
test 使用合适的单元測试框架运行測试。这些測试代码不会被打包或部署。
prepare-package
package 接受编译好的代码,打包成可公布的格式,如 JAR 。
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装至本地仓库,以让其他项目依赖。 deploy 将终于的包拷贝到远程的仓库。以让其他开发者与项目共享。 3、site
pre-site 运行一些须要在生成网站文档之前完毕的工作
site 生成项目的网站文档
post-site 运行一些须要在生成网站文档之后完毕的工作,而且为部署做准备
site-deploy 将生成的网站文档部署到特定的server上
命令行与生命周期
mvn clean:调用clean生命周期的clean阶段
mvn test:调用default生命周期的test阶段
mvn clean install:调用clean生命周期的clean阶段和调用default生命周期的install阶段
mvn clean deploy:调用clean生命周期的clean阶段和调用default生命周期的deploy阶段
插件目标
maven核心只定义了抽象的生命周期,详细任务由插件来完毕
插件由多个目标来组成
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd29iZW5kaWFua3Vu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
内置插件绑定
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd29iZW5kaWFua3Vu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
自己定义绑定
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<!--指定在哪个阶段后运行目标-->
<phase>test</phase>
<goals>
<!--运行的目标-->
<goal>tree</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
命令行插件配置
mvn install -Dmaven.test.skip=true參数 -D 是java自带的,通过命令行设置一个java系统属性