当前位置:K88软件开发文章中心编程工具Maven → 文章内容

Apache Maven 构建生命周期

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-24 10:44:39

代码文件编译后生成的文件。test使用适当的单元测试框架(例如JUnit)运行测试。prepare-package在真正打包之前,为准备打包执行任何必要的操作。package获取编译后的代码,并按照可发布的格式进行打包,例如 JAR、WAR 或者 EAR 文件。pre-integration-test在集成测试执行之前,执行所需的操作。例如,设置所需的环境变量。integration-test处理和部署必须的工程包到集成测试能够运行的环境中。post-integration-test在集成测试被执行后执行必要的操作。例如,清理环境。verify运行检查操作来验证工程包是有效的,并满足质量要求。install安装工程包到本地仓库中,该仓库可以作为本地其他工程的依赖。deploy拷贝最终的工程包到远程仓库中,以共享给其他开发人员和工程。有一些与 Maven 生命周期相关的重要概念需要说明:当一个阶段通过 Maven 命令调用时,例如 mvn compile,只有该阶段之前以及包括该阶段在内的所有阶段会被执行。不同的 maven 目标将根据打包的类型(JAR / WAR / EAR),被绑定到不同的 Maven 生命周期阶段。在下面的例子中,我们将 maven-antrun-plugin:run 目标添加到 Build 生命周期的一部分阶段中。这样我们可以显示生命周期的文本信息。我们已经更新了 C:\MVN\project 目录下的 pom.xml 文件。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.companyname.projectgroup</groupId><artifactId>project</artifactId><version>1.0</version><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><version>1.1</version><executions> <execution> <id>id.validate</id> <phase>validate</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>validate phase</echo> </tasks> </configuration> </execution> <execution> <id>id.compile</id> <phase>compile</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>compile phase</echo> </tasks> </configuration> </execution> <execution> <id>id.test</id> <phase>test</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>test phase</echo> </tasks> </configuration> </execution> <execution> <id>id.package</id> <phase>package</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>package phase</echo> </tasks> </configuration> </execution> <execution> <id>id.deploy</id> <phase>deploy</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>deploy phase</echo> </tasks> </configuration> </execution></executions></plugin></plugins></build></project>现在打开命令控制台,跳转到 pom.xml 所在目录,并执行以下 mvn 命令。C:\MVN\project>mvn compileMaven 将会开始处理并显示直到编译阶段的构建生命周期的各个阶段。[INFO] Scanning for projects...[INFO] ------------------------------------------------------------------[INFO] Building Unnamed - com.companyname.projectgroup:project:jar:1.0[INFO] task-segment: [compile][INFO] ------------------------------------------------------------------[INFO] [antrun:run {execution: id.validate}][INFO] Executing tasks [echo] validate phase[INFO] Executed tasks[INFO] [resources:resources {execution: default-resources}][WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources,i.e. build is platform dependent![INFO] skip non existing resourceDirectory C:\MVN\project\src\main\resources[INFO] [compiler:compile {execution: default-compile}][INFO] Nothing to compile - all classes are up to date[INFO] [antrun:run {execution: id.compile}][INFO] Executing tasks [echo] compile phase[INFO] Executed tasks[INFO] ------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------[INFO] Total time: 2 seconds[INFO] Finished at: Sat Jul 07 20:18:25 IST 2012[INFO] Final Memory: 7M/64M[INFO] ------------------------------------------------------------------Site 生命周期Maven Site 插件一般用来创建新的报告文档、部署站点等。阶段:pre-sitesitepost-sitesite-deploy在下面的例子中,我们将 maven-antrun-plugin:run 目标添加到 Site 生命周期的所有阶段中。这样我们可以显示生命周期的所有文本信息。我们已经更新了 C:\MVN\project 目录下的 pom.xml 文件。<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.companyname.projectgroup</groupId><artifactId>project</artifactId><version>1.0</version><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-antrun-plugin</artifactId><version>1.1</version> <executions> <execution> <id>id.pre-site</id> <phase>pre-site</phase> <goals> <goal>run</goal> </goals> <configuration> <tasks> <echo>pre-site phase</echo> </tasks> </configuration> </execution> <execution> <id>id.site</id> <ph

上一页  [1] [2] [3]  下一页


Apache Maven 构建生命周期