3

我将我的应用程序迁移到 OpenJDK11 并且 Jenkins 构建失败,因为不再支持 Findbug。插件:

  • sonar-maven-plugin -在 java 11 env 中内部调用 Findbug 并且它破坏了 Jenkins 构建

如何迁移此插件以使用最新的 Spotbug 依赖项,我仍然想保留 sonar-maven-plugin 以获取报告给 sonar。

当前 pom.xml 相关部分:

<build>
    <pluginManagement>
        <plugins>

            <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.7.0.1746</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

已经浏览了许多文档。找不到解决方案。

SonarQube 版本: 6.7 版(内部版本 33306)

已安装的插件(相关的):

  • FindbugsExternal Analyzers分析 Java 代码SpotBugs 3.1.0-RC6。3.6.0
  • 适用于 Java 5.13.1 的SonarJavaLanguages 代码分析器(内部版本 18282)
  • 适用于 XML 2.0.1 的SonarXML 代码分析器(构建 2020)
  • CheckstyleExternal Analyzers使用 Checkstyle 4.23 分析 Java 代码
4

2 回答 2

2

FindbugsExternal Analyzers 使用 SpotBugs 3.1.0-RC6 分析 Java 代码。3.6.0

我找不到提供 SpotBugs 3.1.0-RC6的SonarQube Findbugs插件版本。它应该介于:

  • 3.7.0(发布:2018 年 3 月 15 日)提供 SpotBugs 3.1.2(见代码
  • 3.6.0(发布:2017 年 9 月 21 日)提供 SpotBugs 3.1.0-RC5(见代码

在我看来,您使用的是插件的自定义版本。

承诺支持 JDK 11 的 Findbugs 插件的第一个版本是3.10.0(取决于 SonarJava 5.10.1,其中自 SonarJava 5.8 ( SONARJAVA-2862 ) 起支持 JDK 11,请参阅代码)。

第二个问题是您尝试使用未维护(不受支持)的服务器版本:

SonarQube 版本:6.7 版(内部版本 33306)

使用最新版本的 SonarScanner:

<artifactId>sonar-maven-plugin</artifactId>
<version>3.7.0.1746</version>

SonarQube 6.7已于 2017 年 11 月 8 日发布(标签已于 2017 年 11 月 7 日创建)。它已在第一个官方 JDK 11 LTS 版本之前发布(谷歌显示为 2018 年 9 月)。

我认为唯一正确的解决方案是使用所有插件将 SonarQube 升级到至少7.9 LTS 。

于 2020-04-13T18:48:07.300 回答
0

尝试降级声纳插件版本。这个插件版本对我有用。

    <plugins>
        <plugin>
            <groupId>org.sonarsource.scanner.maven</groupId>
            <artifactId>sonar-maven-plugin</artifactId>
            <version>3.6.0.1398</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version>
            <configuration>
                <source>11</source>
                <target>11</target>
            </configuration>
        </plugin>
    </plugins>
于 2020-04-11T12:03:14.157 回答