-
生命周期定义:
生命周期抽象了构建的各个步骤, 定义了它们的次序, 但没有提供具体的实现. 每个构建步骤可以绑定一个或者多个插件行为. -
声明周期:
生命周期由阶段组成(phase), 这些阶段是有顺序的, 并且后面的阶段依赖于前面的阶段, 用户和 Maven 最直接的交互方式就是调用这些声明周期阶段.- clean 生命周期: 目的是清理项目, 包含: pre-clean, clean, post-clean 三个阶段. 调用后面的阶段会导致该阶段前面的阶段也会被执行.
- default 生命周期:
- validate
- initialize
- generate-sources
- process-sources: 处理项目主资源文件. 一般来说, 是对
src/main/resources
目录的内容进行变量替换等工作后, 复制到项目输出的主 classpath 目录中. - generate-resources
- process-resources
- compile: 编译项目的主代码. 一般来说, 是编译
src/main/java
目录下的 Java 文件至项目输出的主 classpath 目录中. - process-classes
- generate-test-sources
- process-test-sources: 处理项目测试资源文件. 一般来说, 是对
src/test/resources
目录的内容进行变量替换等工作后, 复制到项目输出的测试 classpath 目录中. - generate-test-resources
- process-test-resources
- test-compile: 编译项目的测试代码. 一般来说, 是编译
src/test/java
目录下的 Java 文件至项目输出的测试 classpath 目录中. - process-test-classes
- test: 使用单元测试框架运行测试, 测试代码不会被打包或者部署.
- prepare-package
- package: 接受编译好的代码, 打包成可发布的格式, 如 JAR.
- pre-integration-test
- integration-test
- post-integration-test
- verify
- install: 将包安装到 Maven 本地仓库, 供本地其它 Maven 项目使用.
- deploy: 将最终的包复制到远程仓库中, 供其它开发人员和 Maven 项目使用.
- site 生命周期: 建立和发布项目站点, Maven 能够基于 pom 所包含的信息, 自动生成一个友好的站点, 方便团队交流和发布项目信息.
- pre-site: 执行一些在生成项目站点之前需要完成的工作.
- site: 生成项目站点文档.
- post-site: 执行一些在生成项目站点之后需要完成的工作.
- site-deploy: 将生成的项目站点发布到服务器上.
-
插件绑定:
- 内置绑定: 主要的生命周期阶段都绑定了很多插件的目标.
- 自定义绑定: 创建项目的源码 jar 包.
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>2.1.1</version> <executions> <execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin>
-
插件配置:
- 命令行插件配置: 使用 -D 参数. 例如跳过测试: mvn install -Dmaven.test.skip = true
- pox 全局配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.1</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin>
-
参考:
[1] : Maven 实战
Maven-Maven 生命周期
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.