【问题标题】:Command to run only one specific test plugin defined in Maven仅运行 Maven 中定义的一个特定测试插件的命令
【发布时间】:2011-01-02 21:59:41
【问题描述】:

我有一个 Maven POM 文件,其中包含在测试阶段运行的插件。为了只执行那个插件而不是那个阶段的所有插件,我必须传递哪些命令行参数?我也在尝试执行一个特定的 ant-run 插件,如下所示:

org.apache.maven.pluginsmaven-antrun-plugin1.3版本> com.googlecode.jslint4javajslint4java-ant1.3.3版本> 依赖> 依赖> jslint测试阶段> 运行目标> 目标> 任务> 配置> 执行> 执行> 插件>

谢谢。

【问题讨论】:

    标签: testing maven-2 command-line


    【解决方案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 阶段的executionconfiguration

    我能想到的唯一(丑陋的)解决方案是在特定配置文件中添加另一个 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。我认为目前正在开发中。
    猜你喜欢
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-29
    相关资源
    最近更新 更多