【问题标题】:can we include maven pmd plugin execution within build goal?我们可以在构建目标中包含 maven pmd 插件执行吗?
【发布时间】:2010-06-08 14:32:28
【问题描述】:

伙计们,我想在构建项目时生成 pmd 报告,因此我已将插件添加到我的 pom.xml 的构建部分,但它仍然不会执行,直到我明确调用 mvn clean install pmd:pmd。我想用 mvn clean install 本身来执行它。可能吗 ?我的 pom 条目如下:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>2.4</version>
            <configuration>
                <skip>false</skip>
                <targetJdk>${compile.source}</targetJdk>
                <rulesets>
                    <ruleset>./current.pmd.rules.xml</ruleset>
                </rulesets>
                <excludes>
                    <exclude>com/cm/**/*.java</exclude>
                    <exclude>com/sm/**/*.java</exclude>
                </excludes>
                <linkXref>true</linkXref>
                <failOnViolation>true</failOnViolation>
                <executions>
                    <execution>
                        <goals>
                            <goal>check</goal>
                            <goal>cpd-check</goal>
                        </goals>
                    </execution>
                </executions>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jxr-plugin</artifactId>
        </plugin>
        <plugin>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.0.1</version>
        </plugin>
    </plugins>

</build>

提前致谢。

【问题讨论】:

    标签: maven-2 pmd


    【解决方案1】:

    您可以通过修改您的 pom 以包含以下 sn-p 来将 pmd 目标与 install 阶段相关联:

    <executions>
     <execution>
      <phase>install</phase>
      <goals>
       <goal>check</goal>
       <goal>cpd-check</goal>
      </goals>
     </execution>
    </executions>
    

    但您应该将其与早于install 的阶段相关联——例如verify——以便在install 阶段之前进行检查。

    【讨论】:

    • 我会选择 process-classes ,但 verify 也可以
    • 感谢 abhin4v,但我已将 install 附加到该插件。但还是没有运气!
    【解决方案2】:

    抱歉各位,这只是我在编写配置时犯的一个小错误。 &lt;executions&gt; [...] &lt;/executions&gt; 应该不在 &lt;configuration&gt;[...]&lt;/configuration&gt; 标签内。由于插件足够智能,可以在verify 阶段执行它,我们不需要将它与任何阶段相关联。我们只需要将它包含在您的 pom.xml 的 &lt;build&gt;section 中。

    【讨论】:

      猜你喜欢
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 2012-03-03
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 2011-05-08
      • 1970-01-01
      相关资源
      最近更新 更多