Maven——声明周期与插件

Clean生命周期:

- pre-clean  执行一些需要在clean之前完成的工作

- clean  移除所有上一次构建生成的文件   maven-clean-plugin:clean

- post-clean  执行一些需要在clean之后立刻完成的工作

Default生命周期

- validate  验证项目是正确的,并且有必要的信息都是可获得的

- generate-sources

- process-sources   

- generate-resources

- process-resources     复制并处理资源文件,至目标目录,准备打包。

- compile     编译项目的源代码。  mvane-compiler-plugin:compile

- process-classes

- generate-test-sources

- process-test-sources

- generate-test-resources  maven-resource-plugin:resources

- process-test-resources     复制并处理资源文件,至目标测试目录。

- test-compile     编译测试源代码。 maven-compiler-plug:testCompile

- process-test-classes    maven-resources-plugin:testResources

- test     使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。  maven-surefire-plugin:test

- prepare-package

- package     接受编译好的代码,打包成可发布的格式,如 JAR 。 maven-jar-plugin:jar

- pre-integration-test

- integration-test  如果有必要,将发布包处理和部署到一个可以运行集成测试的环境中。

- post-integration-test

- verify   运行各种检查来证实该发布是有效的并符合质量标注的。

- install     将包安装至本地仓库,以让其它项目依赖。 maven-install-plugin:install

- deploy     将最终的包复制到远程的仓库,以让其它开发人员与项目共享。 maven-deploy-plugin:deploy

Site生命周期

- pre-site     执行一些需要在生成站点文档之前完成的工作

- site    生成项目的站点文档  maven-site-plugin:site

- post-site     执行一些需要在生成站点文档之后完成的工作,并且为部署做准备

- site-deploy     将生成的站点文档部署到特定的服务器上  maven-site-plugin:deploy

mvn clean 执行clean生命周期的pre-clean、clean 阶段

mvn test 执行default生命周期 valid到test阶段

mvn clean install 先执行clean 生命周期,再执行default周期到install

mvn clean deploy site-deploy 执行clean、default、deploy所有阶段

跳过测试阶段

-Dmaven.test.skip=true,不执行测试用例,也不编译测试用例类

-DskipTests,不执行测试用例,但编译测试用例类生成相应的class文件至target/test-classes下

动态执行测试用例 mvn test -Dtest=测试类名(可以使用通配符)

http://healthandbeauty.iteye.com/blog/1618501  -U -e -B      

插件

%本地仓库%\org\apache\maven\plugins,可以看到一些下载好的插件

Mvn clean:clean 执行指定插件的插件目标(goal)

插件绑定分为内置绑定和自定义绑定。

内置绑定 生命周期与插件目标的关系

Clean生命周期

Default生命周期

Site声明周期

自定义绑定

<build>

    <plugins>

        <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-source-plugin</artifactId>

            <version>2.2.1</version>

            <executions>

                <execution>

                    <id>attach-source</id>

                    <phase>package</phase><!-- 要绑定到的生命周期的阶段 -->

                    <goals>

                        <goal>jar-no-fork</goal><!-- 要绑定的插件的目标 -->

                    </goals>

                </execution>

            </executions>

        </plugin>

    </plugins>

    ……

</build>

 插件仓库

跟其他构件一样,插件也是根据坐标存储在Maven仓库中。超级POM中Maven配置的默认插件远程仓库如下:

<pluginRepositories>

    <pluginRepository>

      <id>central</id>

      <name>Central Repository</name>

      <url>http://repo.maven.apache.org/maven2</url>

      <layout>default</layout>

      <snapshots>

        <enabled>false</enabled>

      </snapshots>

      <releases>

        <updatePolicy>never</updatePolicy>

      </releases>

    </pluginRepository></pluginRepositories>

从命令行调用插件

例如:mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:tree

解析插件前缀

支持使用前缀调用插件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值