项目生命周期
清理
初始化
编译
測试
打包
部署
三套生命周期
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核心只定义了抽象的生命周期,详细任务由插件来完毕
插件由多个目标来组成
内置插件绑定
自己定义绑定
<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系统属性