首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让maven- PMD -plugin支持最新的PMD版本?

如何让maven- PMD -plugin支持最新的PMD版本?
EN

Stack Overflow用户
提问于 2010-01-09 19:47:48
回答 2查看 1.4K关注 0票数 5

http://maven.apache.org/plugins/maven-pmd-plugin/目前的版本是2.4,它支持PMD4.2.2版本

有没有可能在这个插件中使用PMD版本4.2.5,如果可以,我们该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2010-01-09 20:14:48

这里有一个Jira的问题,请看MPMD-97 (我建议投票支持它)。

目前,您可以尝试使用以下命令本地升级插件中使用的pmd版本:

代码语言:javascript
复制
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-pmd-plugin</artifactId>
        <version>2.4</version>

        <dependencies>

          <dependency>
              <groupId>pmd</groupId>
              <artifactId>pmd-jdk14</artifactId>
              <version>4.2.5</version>
          </dependency>

        </dependencies>
      </plugin>
    </plugins>
  </build>

我没有测试这个,我不知道它是否能无缝工作。

票数 3
EN

Stack Overflow用户

发布于 2017-09-12 23:06:42

这是一个古老的问题,事情已经发生了变化,但我遇到了一个挑战,将maven- pmd -plugin:3.8从pmd 5.6.1升级到5.8.1。在撰写本文时,maven-pmd-plugin page中还缺少用于执行此操作的文档。

  1. 将PMD - dependencies.
  2. If、pmd-java和任何其他定制的PMD工件添加为插件,您的规则包含在一个单独的.jar模块中,同时将该模块添加到依赖项中。
  3. 确保检查目标是在编译阶段验证太快之后运行。(我选择了process-test-classes在任何测试运行之前调用它,而不是更常见的验证,后者也可以,但稍后会运行它)。

pom.xml配置:

代码语言:javascript
复制
<properties>
    <rev.javac>1.8</rev.javac>
    <rev.pmd-plugin>3.8</rev.pmd-plugin>
    <rev.pmd>5.8.1</rev.pmd>
</properties>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>${rev.pmd-plugin}</version>
    <dependencies>
        <dependency>
            <groupId>my.project.group</groupId>
            <artifactId>project-standards</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.pmd</groupId>
            <artifactId>pmd-core</artifactId>
            <version>${rev.pmd}</version>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.pmd</groupId>
            <artifactId>pmd-java</artifactId>
            <version>${rev.pmd}</version>
        </dependency>
    </dependencies>
    <executions>
        <execution>
            <id>pmd-validation</id>
            <phase>process-test-classes</phase>
            <goals>
                <goal>check</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <rulesets>
            <ruleset>/pmd/project-pmd-rules.xml</ruleset>
        </rulesets>
        <targetDirectory>${project.build.directory}</targetDirectory>
        <targetJdk>${rev.javac}</targetJdk>
        <failOnViolation>true</failOnViolation>
        <failurePriority>5</failurePriority>
        <verbose>false</verbose>
        <linkXRef>false</linkXRef>
    </configuration>
</plugin>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2033217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档