`
iffiffj
  • 浏览: 156512 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Maven生命周期与Ant插件

 
阅读更多
Maven 对构建生命周期的固定理解包含了许多不同的阶段,如下表:
validate验证确保当前配置和POM的内容是有效的。这包含对pom文件树的验证。
initialize初始化在执行构建生命周期的主任务之前可以进行初始化。
generate-sources生成源码代码生成器可以开始生成在以后阶段中处理或编译的源代码。
process-sources处理源码提供解析、修改和转换源码。常规源码和生成的源码都可以在这里处理。
generate-resources生成资源可以生成非源码资源。通常包括元数据文件和配置文件。
process-resources处理资源处理非源码资源。修改、转换和重定位资源都能在这阶段发生。
compile编译编译源码。编译过的类被放到目标目录树中。
process-classes处理类处理类文件转换和增强步骤。字节码交织器和常用工具常在这一阶段操作。
generate-test-sources生成测试源码mojo可以生成要操作的单元测试代码。
process-test-sources处理测试源码在编译前对测试源码执行任何必要的处理。在这一阶段,可以修改、转换或复制源代码。
generate-test-resources生成测试资源允许生成与测试相关的(非源码)资源。
process-test-resources处理测试资源可以处理、转换和重新定位与测试相关的资源。
test-compile测试编译编译单元测试的源码。
test测试运行编译过的单元测试并累计结果。
package打包将可执行的二进制文件打包到一个分布式归档文件中,如
pre-integration-test前集成测试、准备集成测试这种情况下的集成测试是指在一个受到一定控制的模拟的真实部署环境中测试代码。这一步能将归档文件部署到一个服务器上执行。
integration-test集成测试执行真正的集成测试。
post-integration-test后集成测试、解除集成测试准备这一步涉及测试环境重置或重新初始化。
verify检验检验可部署归档的有效性和完整性。过了这个阶段,将安装该归档。
install安装将该归档添加到本地Maven目录。这一步让其他可能依赖该归档的模块可以使用它。
deploy部署将该归档添加到远程Maven目录。这一步让这个工件能为更多的人所用。


ANT 插件:
<plugin> 
 <artifactId>maven-antrun-plugin</artifactId> 
 <executions> 
   <execution> 
     <phase>process-sources</phase> 
     <configuration> 
       <tasks> 
	 <tstamp> 
	   <format property="build-time" pattern="d-MMMM-yyyy HH:mm"/> 
	 </tstamp> 
	 <copy file="src/main/java/com/.../Version.java.template" toFile="src/main/java/com/.../Version.java" overwrite="true"> 
	   <filterset> 
	     <filter token="version-major" value="${version-major}"/> 
	     <filter token="version-minor" value="${version-minor}"/> 
	     <filter token="version-revision" value="${version-revision}"/> 
	     <filter token="version-status" value="${version-status}"/> 
	     <filter token="version" value="${project.version}"/> 
	     <filter token="Name" value="${project.name}"/> 
	     <filter token="website" value="${project.url}"/> 
	     <filter token="build-time" value="${build-time}"/> 
	   </filterset> 
	 </copy> 
       </tasks> 
     </configuration> 
     <goals> 
       <goal>run</goal> 
     </goals> 
   </execution> 
 </executions> 
</plugin> 


Maven命令选项:
usage: maven [options] [<goal(s)>] [<phase(s)>]

Options:
 -C,--strict-checksums         Fail the build if checksums don't match
 -c,--lax-checksums            Warn if checksums don't match
 -P,--activate-profiles        Comma-delimited list of profiles to
                               activate
 -ff,--fail-fast               Stop at first failure in reactorized builds
 -fae,--fail-at-end            Only fail the build afterwards; allow all
                               non-impacted builds to continue
 -B,--batch-mode               Run in non-interactive (batch) mode
 -fn,--fail-never              NEVER fail the build, regardless of project
                               result
 -up,--update-plugins          Synonym for cpu
 -N,--non-recursive            Do not recurse into sub-projects
 -npr,--no-plugin-registry     Don't use ~/.m2/plugin-registry.xml for
                               plugin versions
 -U,--update-snapshots         Update all snapshots regardless of
                               repository policies
 -cpu,--check-plugin-updates   Force upToDate check for any relevant
                               registered plugins
 -npu,--no-plugin-updates      Suppress upToDate check for any relevant
                               registered plugins
 -D,--define                   Define a system property
 -X,--debug                    Produce execution debug output
 -e,--errors                   Produce execution error messages
 -f,--file                     Force the use of an alternate POM file.
 -h,--help                     Display help information
 -o,--offline                  Work offline
 -r,--reactor                  Execute goals for project found in the
                               reactor
 -s,--settings                 Alternate path for the user settings file
 -v,--version                  Display version information
分享到:
评论

相关推荐

    Maven3实战笔记04Maven的生命周期和插件

    Maven的生命周期其实是指它对所有的构建过程进行了反复的推敲、反思,之后总结了一套高度抽象过程。这个过程是高度完善的、容易扩展的。基本上包含了项目的清理、初始化、编译、测试、打包、集成测试、验证、部署、...

    大话Maven生命周期

    Maven非常强大的重要原因是它有十分完善的生命周期模型 lifecycle 这个生命周期可以从两方面来理解 第一 顾名思义 运行Maven的每个步骤都由它来定义的 这种预定义的默认行为使得我们使用Maven变得简单 相比而言 Ant...

    maven window下安装包

    第7章:生命周期和插件/7.4 插件绑定/7.4.2 自定义生命周期和插件的绑定 第7章:生命周期和插件/7.5 插件配置/7.5.1 命令行插件参数设置 第7章:生命周期和插件/7.5 插件配置/7.5.2 POM文件中进行插件参数设置 第7章...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven生命周期 (Lifecycle) 3.5.3. Maven坐标 (Coordinates) 3.5.4. Maven仓库(Repositories) 3.5.5. Maven依赖管理 (Dependency Management) 3.5.6. 站点生成和报告 (Site Generation and Reporting) 3.6. ...

    版本管理及项目构建和maven的介绍使用

    1.svn版本管理。 2.项目构建的方式,主要介绍Ant和maven,...包含Ant的简介及常用任务,maven的简介、环境配置、maven项目开发,maven依赖、maven仓库等概念以及maven生命周期和maven插件、聚合和继承等。 3.推荐的书籍

    Maven 私服 Nexus3

    采用一种被称之为Project Object Model(POM)概念来管理项目,所有的项目配置信息都被定义在一个叫做POM.xml的文件中, 通过该文件Maven可以管理项目的整个生命周期,包括清除、编译,测试,报告、打包、部署等等。...

    Maven实战(高清版)

    背景案例第5章 坐标和依赖第6章 仓库第7章 生命周期和插件第8章 聚合与继承第9章 使用nexus创建私服第10章 使用maven进行测试第11章 使用hudson进行持续集成第12章 使用maven构建web应用第13章 版本管理第...

    Maven2 的新特性.7z

    在Maven2中有了明确的生命周期概念,而且都提供与之对应的命令,使得项目构建更加清晰明了。主要的生命周期阶段: • validate,验证工程是否正确,所有需要的资源是否可用。 • compile,编译项目的源代码。 • ...

    apache-maven-3.5.0.zip

    Maven是一个比Ant更先进的管理工具,它采用了"约定优于配置(CoC)"的策略来管理项目。其核心是解析一些XML文档,管理生命周期和插件。

    maven3教程(私塾在线)视频配套学习资料

    4、maven命令:重点理解【生命周期和阶段】和【插件和目标】 5、在eclipse中通过m2eclipse插件使用maven 6、配置和使用私服 7、实战maven,把以前一个不是用maven做的模块,移植为maven项目 这是这次学习的重中...

    Maven权威指南中文版(完整)

    3.5.2. Maven生命周期 (Lifecycle) .......................... 26 3.5.3. Maven坐标 (Coordinates) ............................ 32 3.5.4. Maven仓库(Repositories) ............................ 34 3.5.5. ...

    apache-maven-3.6.3.zip

    从官网下载的maven-3.6.3版本。Maven是一个比Ant更先进的管理工具,它采用了"约定优于配置(CoC)"的策略来管理项目。其核心是解析一些XML文档,管理生命周期和插件。

    jain-slee.maven-du-plugin:适用于SLEE应用程序的maven-du插件

    Restcomm Maven DU插件Maven DU插件可用于管理JAIN SLEE 1.1可部署单元(DU)jar的构建生命周期。 它提供了以下目标: 复制依赖关系-将声明为依赖关系的工件复制到可部署单元,假设它们是JAIN SLEE组件(sbb,事件等...

    tomcat6、7、8、9, maven3.5

    Tomcat 6.x的用户应该计划在Tomcat 6.x到达生命周期之前进行升级。 Apache Tomcat 5.x 的Apache Tomcat 5.x的是可以从档案下载。 的Apache Tomcat 5.5.X支持相同的Servlet和JSP规范版本的的Apache Tomcat 5.0.x中...

    积分java源码-gradle-pluralsight:使用Pluralsight学习Gradle

    积分java源码生成的目录 Gradle 课程与 Pluralsight 介绍 什么是Gradle 按惯例构建 用 Groovy 编写,这是一个 ...Maven ...Ant ...Maven ...任务生命周期 初始化阶段 配置阶段 doFirst(方法) doLast(方法)

    积分java源码-gradle-fundamentals:多元视觉课程

    积分java源码生成的目录 Gradle 课程与 Pluralsight 介绍 什么是Gradle 按惯例构建 用 Groovy 编写,这是一个 ...Maven ...Ant ...Maven ...任务生命周期 初始化阶段 配置阶段 doFirst(方法) doLast(方法)

    达内java培训目录

    企业应用开发部署环境 Linux高级命令集脚本编程、远程登录、Ant、单元测试技术、Maven构建技术、SVN应用技术。 熟练掌握基于Linux系统的操作技能;可以熟练的完成应用的部署工作;可以熟练的使用开发部署工具。 ...

    Java学习笔记-个人整理的

    {1.4.1}整数与浮点数}{23}{subsection.1.4.1} {1.4.1.1}浮点数原理}{24}{subsubsection.1.4.1.1} {1.4.2}格式化输出浮点数}{24}{subsection.1.4.2} {1.4.3}\texttt {char}}{24}{subsection.1.4.3} {1.4.4}转义...

Global site tag (gtag.js) - Google Analytics