【问题标题】:PMD - confusion between maven, sonarqube and java versionsPMD - maven、sonarqube 和 java 版本之间的混淆
【发布时间】:2021-08-23 03:47:37
【问题描述】:

请教关于 PMD 的小问题。

在我撰写本文时(2021 年 6 月),最新的 ma​​ven pmd 插件是:

 <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>3.14.0</version>
            </plugin>

最新的 SonarQube pmd 插件是:

PMD 
EXTERNAL ANALYSERS
Analyze Java code with PMD.
3.3.1 installed

但是,当我运行 SonarQube 分析时,我得到了这个:

[INFO] Sensor PmdSensor [pmd]
[INFO] Execute PMD 6.30.0
[INFO] Java version: 11
[INFO] PMD configuration: /Users/project/target/sonar/pmd.xml

我很困惑。这个PMD 6.30.0是从哪里来的?

特别是我在看官网:

https://pmd.github.io

上面写着最新版本:6.35.0(2021 年 5 月 29 日)

因此,我的问题是,为什么我看到 PMD 6.30.0,这是在哪里配置的?

谢谢

【问题讨论】:

标签: maven sonarqube pmd


【解决方案1】:

maven-pmd-plugin 和 SonarQube PMD 插件是独立的工件,它们依赖于特定版本的 PMD。所以这三个都有不同的版本和生命周期。

maven-pmd-plugin 使用插件发布时的最新 PMD 版本,但您可以在运行时覆盖该版本:https://maven.apache.org/plugins/maven-pmd-plugin/examples/upgrading-PMD-at-runtime.html

如您所见,maven-pmd-plugin 3.14.0 使用 PMD 6.29.0。

正如@P.Sanjay 指出的那样,SonarQube PMD 3.3.1 使用 PMD 6.30.0,如发行说明 (https://community.sonarsource.com/t/new-release-sonar-pmd-plugin-3-3-1/38223) 中所述。 README.md中也有不同版本的概述:https://github.com/jensgerdes/sonar-pmd

PMD 本身定期发布(每月一次),因此您通常会在 https://pmd.github.io 上找到比插件中使用的更新版本。

【讨论】:

    猜你喜欢
    • 2021-11-12
    • 1970-01-01
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2015-06-01
    • 2020-01-08
    • 2012-10-21
    相关资源
    最近更新 更多