zoukankan      html  css  js  c++  java
  • Maven实战——生命周期和插件

    Maven的构建过程包含:初始化、编译、測试、打包、集成測试、部署
    Maven拥有三套相互独立的生命周期:clean(清理项目)、default(构建项目)、site(建立项目网站)
    每一个生命周期包含一些阶段,这些阶段是有顺序的,而且后面的阶段依赖于前面的阶段,以clean为例:
    pre-clean:运行一些清理前须要完毕的工作
    clean:清理上一次构建生成的文件
    post-clean:运行一些清理后须要完毕的工作
    site的生命周期包含:pre-site,site,post-site,site-deploy
    命令行与生命周期
    以Maven命令为例
    mvncleancleanprecleanclean mvn test:调用default生命周期的test阶段
    mvncleaninstallcleancleandefaultinstall mvn clean deploy site-deploy:调用clean生命周期的clean阶段、default生命周期的deploy阶段。及site生命周期的site_deploy阶段,此为site生命周期的最后一个阶段
    命令行插件配置
    非常多插件目标的參数都支持从命令行配置,用户能够再Maven命令中使用-D參数,并伴随一个參数键=參数值的形式,来配置插件目标的參数。比如:
    maven-surefire-plugin提供了一个maven.test.skip參数,当为true时就调过測试
    $mvn install -Dmaven.test.skip=true
    參数D是Java自带的。
    POM中插件的全局配置
    有些參数的值从项目创建到项目公布都不会改变,对于这样的情况在POM文件里一次性配置就比输入方便。比如我们一般会须要配置maven-compiler-plugin告诉他编译Java1.5版本号的源文件

    <build>
        <plugins>
            <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>
        </plugins>
    </build>

    POM中插件任务配置
    以maven-antrun-plugin为例,将maven-antrun-plugin:run绑定到多个生命周期阶段上,再加以不同的配置,就能够让Maven在不同的生命周期运行不同的任务。

    
    <build>  
        <plugins>  
            <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-antrun-plugin</artifactId>  
            <version>1.3</version>  
            <executions>  
                <execution>  
                    <id>ant-validate</id>  
                    <phase>validate</phase>  
                    <goals>  
                        <goal>run</goal>  
                    </goals>  
                    <configuration>  
                        <tasks>  
                            <echo>I'm bound to validate phase.</echo>  
                        </tasks>  
                    </configuration>  
                </execution>  
                <execution>  
                    <id>ant-verify</id>  
                    <phase>verify</phase>  
                    <goals>  
                        <goal>run</goal>  
                    </goals>  
                    <configuration>  
                        <tasks>  
                            <echo>I'm bound to verify phase.</echo>  
                        </tasks>  
                    </configuration>  
                </execution>  
            </executions>  
            </plugin>  
        </plugins>  
    </build> 

    在上述代码中,首先,maven-antrun-plugin:run与validate阶段绑定。从而构成一个id为ant-validate的任务。插件全局配置中的configuration元素位于plugin元素以下,而这里的configuration元素则位于execution元素以下。表示这是特定任务的配置,而非插件总体的配置。这个ant-validate任务配置了一个echo Act任务。向命令行输出一段文字,表示该任务是绑定到validate阶段的。第二个任务的id为ant-varify。它绑定到了verify阶段,相同它也输出一段文字到命令行,告诉我们任务绑定到了verify阶段。

  • 相关阅读:
    制作交互式网站风格的移动背景
    HTML5中的一些拖拽成员
    你不一定了解的CSS技巧
    DOS bat上使用MSSQLSERVER服务
    优化你的C语言程序就是这么简单
    编写宏的有效方法
    vba,excel,身份证,照片
    网址收藏
    PowerShell让系统可以执行.ps1文件,开机,关机,在线时间 , Function自定义函数
    按键精灵txt判断
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5199402.html
Copyright © 2011-2022 走看看