2

我正在使用声纳的 Maven 集成。我的服务器设置并正常运行,我可以在浏览器中查看报告,以及在 Eclipse 中查看违规行为。
我的问题是我想在 Eclipse 中运行本地分析,以便我可以重构违规并动态查看更改是 Eclipse 本身。
但是本地分析失败并显示下面提到的跟踪。

Runner configuration file: NONE<br>
Project configuration file: NONE<br>
Runner version: 2.0<br>
Java version: 1.6.0_41, vendor: Sun Microsystems Inc.<br>
OS name: "Windows 7", version: "6.1", arch: "amd64"<br>
Default locale: "en_US", source code encoding: "Cp1252"<br>
Server: [http://localhost:9000]<br>
Work directory: C:\dev\UPS Eclipse<br>
workspace\ips\.metadata\.plugins\org.eclipse.core.resources\.projects\ips-client\org.sonar.ide.eclipse.core<br>
Total time: 8.058s<br>
Exception in thread "main" org.sonar.runner.RunnerException: org.sonar.runner.RunnerException: No files matching pattern "dhbcore.jar" in directory "C:\Users\sg0213152\.m2\repository\com\ibm\com.ibm.dhbcore\7.5.0.0"<br>
    at org.sonar.runner.Runner.delegateExecution(Runner.java:288)<br>
    at org.sonar.runner.Runner.execute(Runner.java:151)<br>
    at org.sonar.runner.Main.execute(Main.java:84)<br>
    at org.sonar.runner.Main.main(Main.java:56)<br>
Caused by: org.sonar.runner.RunnerException: No files matching pattern "dhbcore.jar" in directory "C:\Users\sg0213152\.m2\repository\com\ibm\com.ibm.dhbcore\7.5.0.0"<br>
    at org.sonar.runner.internal.batch.SonarProjectBuilder.getLibraries(SonarProjectBuilder.java:440)<br>
    at org.sonar.runner.internal.batch.SonarProjectBuilder.cleanAndCheckModuleProperties(SonarProjectBuilder.java:327)<br>
    at org.sonar.runner.internal.batch.SonarProjectBuilder.cleanAndCheckProjectDefinitions(SonarProjectBuilder.java:305)<br>
    at org.sonar.runner.internal.batch.SonarProjectBuilder.generateProjectDefinition(SonarProjectBuilder.java:123)<br>
    at org.sonar.runner.internal.batch.Launcher.execute(Launcher.java:58)<br>
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
    at java.lang.reflect.Method.invoke(Method.java:597)<br>
    at org.sonar.runner.Runner.delegateExecution(Runner.java:285)<br>
    ... 3 more<br>
Final Memory: 1M/120M<br>

PS:我在指定位置已经存在名为“com.ibm.dhbcore-7.5.0.0”的 jar。此外,如果我将此文件重命名为它正在搜索的确切字符串,则它会显示缺少其他一些 jar。我试着做了大约 10-15 个罐子,直到我最终放弃了。

版本:
Eclipse:Juno
Sonar:3.4.1
Sonar Java Analyzer(Eclipse 插件):3.0

解决方案 - 将 SonarQube 升级到最新版本 将
SonarQube 升级到 3.7.2 将
Sonar Java Analyzer 升级到 3.2.0

4

1 回答 1

1

请检查您在 Eclipse 中的项目设置,尤其是“Java Build Path”=>“Libraries”。您应该有无效条目,例如“C:\Users\sg0213152.m2\repository\com\ibm\com.ibm.dhbcore\7.5.0.0\dhbcore.jar”

您也可以尝试使用更新版本的 SonarQube Eclipse(但这可能会迫使您也升级您的 SonarQube 服务器)。我们在 sonar.libraries 中添加文件之前添加了存在检查,以防止无效的 Eclipse 类路径。

于 2013-09-11T07:51:09.423 回答