gpt4 book ai didi

java - 更新 sonar-java-plugin 时出现 TestInputFileBuilder 'missing'

转载 作者:行者123 更新时间:2023-12-02 13:09:19 29 4
gpt4 key购买 nike

所以,我有一个 Sonar java自定义规则插件,运行在4.2.1.6971版本和5.6.3版本的SonarQube平台上。

最近我尝试将 java 插件依赖项更新到最新的 4.9.0.9858 版本,在尝试“全新安装”项目后,我在所有单元测试中都遇到了相同的错误:

[INFO] Running checks.security.SystemExitCallsCheckTest
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
0.001 s <<< FAILURE! - in checks.security.SystemExitCallsCheckTest
[ERROR] detected(checks.security.SystemExitCallsCheckTest) Time elapsed: 0s << ERROR!
java.lang.NoClassDefFoundError:
org/sonar/api/batch/fs/internal/TestInputFileBuilder
at checks.security.SystemExitCallsCheckTest.detected(SystemExitCallsCheckTest.java:19)

好像是类(class)未找到 TestInputFileBuilder,但我在 Eclipse 上没有出现依赖错误。

这是我的 pom.xml 的一部分:

    <properties>
<sonar.version>6.0</sonar.version>
<java.plugin.version>4.9.0.9858</java.plugin.version>
<sslr.version>1.21</sslr.version>
<gson.version>2.6.2</gson.version>
</properties>

<dependencies>
<dependency>
<groupId>org.sonarsource.sonarqube</groupId>
<artifactId>sonar-plugin-api</artifactId>
<version>${sonar.version}</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.sonarsource.java</groupId>
<artifactId>sonar-java-plugin</artifactId>
<type>sonar-plugin</type>
<version>${java.plugin.version}</version>
<scope>provided</scope>
</dependency>

我应该怎么做才能避免这个错误?当我尝试单独运行任何单元测试时,我也遇到了同样的错误。

提前致谢!

最佳答案

您需要将 Sonar 版本升级到API 6.3。这是因为 SonarJava 插件在内部依赖此 API 进行测试,因为此文件: TestInputFileBuilder : https://github.com/SonarSource/sonarqube/blob/master/sonar-plugin-api/src/main/java/org/sonar/api/batch/fs/internal/TestInputFileBuilder.java这是在 6.3 中引入的。

请注意,虽然您的插件测试需要依赖此 API,但只要您不使用 5.6 (LTS) 中未提供的 API,您就可以在 LTS 上完美运行您的自定义规则。

关于java - 更新 sonar-java-plugin 时出现 TestInputFileBuilder 'missing',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44008135/

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