【maven实战】17-插件配置

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】

命令行插件配置:在日常的maven使用中我们会经常从命令行输入并执行maven命令。在这种情况下如果能够方便地更改某些插件的行为无疑会十分方便。很多插件目标的参数都会支持从命令行配置,用户可以在maven命令中使用-D参数并伴随一个参数键=参数值的形式,来配置插件目标的参数。

例如maven-surefire-plugin提供了一个maven.test.skip参数,当其值为true的时候,就会跳过执行测试。于是在运行命令的时候加上如下-D参数就能跳过测试:

    mvn install -Dmaven.test.skip=true

参数-D是java自带的其功能就是通过命令行设置一个java系统属性,maven简单地重复用了该参数。

POM中插件全局配置:用户可以在声明插件的时候,对此插件进行一个全局的配置。也就是说所有该基于该插件目标的任务都会使用这些配置,例如我们通常会需要配置maven-compiler-plugin告诉他编译java1.5版本的源文件,生成与JVM1.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>

这样不管绑定到compile阶段的maven-compiler-plugin:compile任务还是绑定到test-compiler阶段的maven-compiler-plugin:testCompiler任务就都能够使用该配置,基于java1.5版本进行编译。

POM中插件任务配置:除了为插件配置全局的参数,用户还可以为某个插件任务配置特定的参数。以maven-antrun-plugin为例,它有一个目标run,可以用来在Maven中调用Ant任务。用户将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>  
                        <configuraction>  
                            <tasks>  
                                <echo>I'm bound to validate phase.</echo>  
                            </tasks>  
                        </configuraction>  
                    </execution>  
                    <execution>  
                        <id>ant-verify</id>  
                        <phase>verify</phase>  
                        <goals>  
                            <goal>run</goal>  
                        </goals>  
                        <configuraction>  
                            <tasks>  
                                <echo>I'm bound to verify phase.</echo>  
                            </tasks>  
                        </configuraction>  
                    </execution>  
                </executions>  
            </plugin>  
        </plugins>  
    </build> 

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

赞(0) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » 【maven实战】17-插件配置

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏