仅运行 Maven 中定义的一个特定测试插件的命令
Posted
技术标签:
【中文标题】仅运行 Maven 中定义的一个特定测试插件的命令【英文标题】:Command to run only one specific test plugin defined in Maven 【发布时间】:2011-01-02 21:59:41 【问题描述】:我有一个 Maven POM 文件,其中包含在测试阶段运行的插件。为了只执行那个插件而不是那个阶段的所有插件,我必须传递哪些命令行参数?我也在尝试执行一个特定的 ant-run 插件,如下所示:
谢谢。
【问题讨论】:
【参考方案1】:以以下形式指定完全限定的目标:
mvn groupID:artifactID:version:goal
例如:
mvn sample.plugin:maven-hello-plugin:1.0-SNAPSHOT:sayhi
编辑:我正在修改我的答案以涵盖初始问题的更新和 OP 的评论。
我不会详细介绍所有细节,但对于 antrun 插件的特殊情况,您可以直接运行:
mvn antrun:run
但是现在您已经更新了问题,我知道事情比我最初想象的要复杂一些,我认为这实际上不会奏效。我的意思是,调用mvn antrun:run
不会失败,但它不会拾取绑定到test
阶段的execution
的configuration
。
我能想到的唯一(丑陋的)解决方案是在特定配置文件中添加另一个 maven-antrun-plugin 配置,如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<dependencies>
<dependency>
<groupId>com.googlecode.jslint4java</groupId>
<artifactId>jslint4java-ant</artifactId>
<version>1.3.3</version>
</dependency>
</dependencies>
<configuration>
<tasks>
<ant antfile="$basedir/jslint.xml">
<property name="root" location="$basedir" />
<target name="jslint" />
</ant>
</tasks>
</configuration>
</plugin>
并在调用antrun:run
时使用此配置文件:
mvn antrun:run -Pmyprofile-for-antrun
【讨论】:
感谢 Pascal,有关于执行特定 ant run 插件的命令的提示吗? 感谢 Pascal,我有一种感觉,它可能必须涉及配置文件黑客才能工作。该死。希望 JSLint 插件很快就会得到一个专门的 Mojo。我认为目前正在开发中。以上是关于仅运行 Maven 中定义的一个特定测试插件的命令的主要内容,如果未能解决你的问题,请参考以下文章