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 サーバーもアップグレードする必要がある場合があります)。無効な Eclipse クラスパスから保護するために、sonar.libraries にファイルを追加する前に存在チェックを追加しました。

于 2013-09-11T07:51:09.423 に答える