gpt4 book ai didi

maven - 检测到旧版本的 checkstyle。考虑更新到 >= v8.30

转载 作者:行者123 更新时间:2023-12-04 07:39:56 27 4
gpt4 key购买 nike

请关于 SonarQube + Checkstyle 警告的小问题。
目前,在我的应用程序中,在我的 pom 中,我使用以下 Checkstyle 插件:

          <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<configuration>
<outputFile>.out/reports/checkstyle/checkstyle-result.xml</outputFile>
<outputDirectory>target/reports/checkstyle</outputDirectory>
<outputFileFormat>xml</outputFileFormat>
</configuration>
</plugin>
这个插件正在做它的工作,不用担心。
但是,当我运行 SonarQube 时,我收到此警告
Old version of checkstyle detected. Consider updating to >= v8.30
For more information see: https://maven.apache.org/plugins/maven-checkstyle-plugin/examples/upgrading-checkstyle.html
我明明去看了那个网站,但我还是很难理解。
我拥有的 Checkstyle 插件是最新的,版本 3.1.2,在 Maven 中心等上检查过。
在 SonarQube 中,我运行的是最新版本 8.9 LTS,以及最新版本的 Checkstyle 插件。
请问我错过了什么?我是否使用了某种错误的插件?

最佳答案

这是一个 SonarQube 插件名为 sonar-checkstyle需要在 安装或升级SonarQube 服务器实例。当前版本是8.40 .
注:引用

  • https://docs.sonarqube.org/latest/setup/install-plugin/
  • https://docs.sonarqube.org/latest/instance-administration/plugin-version-matrix/
  • https://github.com/checkstyle/sonar-checkstyle
  • https://github.com/checkstyle/sonar-checkstyle/releases

  • 编辑 1
    第1步
    首先,有一个 cache目录在 <user_home>/.sonar/cache (对于我在 Windows 10 上是 C:\Users\<myuser>\.sonar\cache ),请删除所有 sub directories在此下 cache目录目的是让 org.sonarsource.scanner.maven:sonar-maven-plugin最新版本从我们的 下载SonarQube 服务器实例并确保所有相关插件在 升级/安装后都是全新的。 SonarQube 服务器实例。 (不要忘记在完成升级/安装后重新启动它以确保重新加载所有新的)
    第2步
    其次,确保我们没有指定 org.sonarsource.scanner.maven:sonar-maven-plugin在我们的项目中 pom.xml无论是在父级还是其他任何地方,目的都是为了确保在执行期间,它将是与我们的 匹配的最新版本。 SonarQube 服务器实例 version .
    无论如何,正式文件( https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/ )也提到了如何修复 Maven 插件版本如下: -

    How to Fix Version of Maven Plugin

    It is recommended to lock down versions of Maven plugins:


    <build>
    <pluginManagement>
    <plugins>
    <plugin>
    <groupId>org.sonarsource.scanner.maven</groupId>
    <artifactId>sonar-maven-plugin</artifactId>
    <version>
    <!--Version that matched with our Sonar server instance version -->
    </version>
    </plugin>
    </plugins>
    </pluginManagement>
    </build>
    最新版本可以在 https://search.maven.org/artifact/org.codehaus.mojo/sonar-maven-plugin浏览或 https://search.maven.org/artifact/org.sonarsource.scanner.maven/sonar-maven-plugin最新版本是 3.9.0.2155 (注:版本 ?.y.z与我们的Sonar服务器实例版本匹配)
    第 3 步
    最后但并非最不重要的是,如果我们的项目是 multi-module projects在正式文件( https://docs.sonarqube.org/latest/analysis/scan/sonarscanner-for-maven/ )中提到如下: -

    In some situations you may want to run the sonar:sonar goal as adedicated step. Be sure to use install as first step for multi-moduleprojects

    mvn clean install

    mvn sonar:sonar ...


    那么这里会有2个步骤, mvn clean install首先使其完成,然后 mvn sonar:sonar ...稍后的。
    编辑 2 maven-checkstyle-plugin也可以指定 checkstyle versionhttps://maven.apache.org/plugins/maven-checkstyle-plugin/examples/upgrading-checkstyle.html 所述重要的句子为

    Maven Checkstyle plugin comes with a default Checkstyle version: formaven-checkstyle-plugin 3.1.2, Checkstyle 8.29 is used by default.


    然后配置为 maven-checkstyle-plugin将如下所示:-
        <project>
    ...
    <build>
    <pluginManagement>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-checkstyle-plugin</artifactId>
    <version>3.1.2</version>
    <dependencies>
    <dependency>
    <groupId>com.puppycrawl.tools</groupId>
    <artifactId>checkstyle</artifactId>
    <version>...choose your version...</version>
    </dependency>
    </dependencies>
    </plugin>
    </plugins>
    </pluginManagement>
    <build>
    ...
    </project>
    最新版本可在 https://search.maven.org/artifact/com.puppycrawl.tools/checkstyle浏览最新版本是 8.42 .

    关于maven - 检测到旧版本的 checkstyle。考虑更新到 >= v8.30,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67543465/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com