web-dev-qa-db-ja.com

SonarQubeを6.4から6.5にアップグレードするとスキャナーが破損します

  1. SonarQube6.4を使用していますが、6.5にアップグレードしました
  2. ソナースキャナーは3.0.3です
  3. アップグレード後、スキャナーはソースパスにJavaファイルが存在する場合はいつでも失敗します。スキャンしない場合Javaファイルはすべて正常に機能します。
  4. ただし、使用6.4バージョンをロールバックすると、すべてが正常に機能するため、リグレッションはありますか?これは、スキャナーコマンドを-Xコマンドで実行したときのスタックトレースです。コンパイルされたすべてのクラスの場所を提供することが6.5の義務であり、それを無視する方法はありますか。

04:56:21.218デバッグ:センサー:JavaSquidSensor-> SurefireSensor-> JaCoCoSensor-> SonarJavaXmlFileSensor-> "php.ini"ファイルのアナライザー->ゼロカバレッジセンサー-> CPDブロックインデクサー04:56:21.218情報:センサーJavaSquidSensor [Java ] 04:56:21.558情報:構成済みJavaソースバージョン(sonar.Java.source):なし04:56:21.565情報:JavaClasspath初期化04:56:21.570情報:---- -------------------------------------------------- ------------------ 04:56:21.571 INFO:EXECUTION FAILURE 04:56:21.571 INFO:---------------- -------------------------------------------------- ------ 04:56:21.571情報:合計時間:6.545秒04:56:21.707情報:最終メモリ:51M/1083M 04:56:21.707情報:------------ -------------------------------------------------- ---------- 04:56:21.707エラー:SonarQube Scanner実行中のエラーorg.sonar.squidbridge.api.AnalysisException:org.sonarでsonar.Java.binariesプロパティをプロジェクトのコンパイル済みクラスに提供してください.Java.JavaClasspath.init(JavaClasspath.Ja va:59)org.sonar.Java.AbstractJavaClasspath.getElements(AbstractJavaClasspath.Java:281)org.sonar.Java.SonarComponents.getJavaClasspath(SonarComponents.Java:141)at org.sonar.Java.JavaSquid。(JavaSquid。 Java:83)org.sonar.plugins.Java.JavaSquidSensor.execute(JavaSquidSensor.Java:83)org.sonar.scanner.sensor.SensorWrapper.analyse(SensorWrapper.Java:53)at org.sonar.scanner.phases org.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.Java:82)のorg.sonar.scanner.phases.SensorsExecutor.execute(SensorsExecutor.Java:68)の.SensorsExecutor.executeSensor(SensorsExecutor.Java:88) org.sonar.scanner.phases.AbstractPhaseExecutor.execute(AbstractPhaseExecutor.Java:78)at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.Java:179)at org.sonar.core.platform.ComponentContainer.startComponents( ComponentContainer.Java:144)org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:129)at org.sonar.scanner.scan.ProjectScanContainer。 scan(ProjectScanContainer.Java:261)at org.sonar.scanner.scan.ProjectScanContainer.scanRecursively(ProjectScanContainer.Java:256)at org.sonar.scanner.scan.ProjectScanContainer.doAfterStart(ProjectScanContainer.Java:245)at org.sonar .core.platform.ComponentContainer.startComponents(ComponentContainer.Java:144)at org.sonar.core.platform.ComponentContainer.execute(ComponentContainer.Java:129)at org.sonar.scanner.task.ScanTask.execute(ScanTask.Java :47)org.sonar.scanner.task.TaskContainer.doAfterStart(TaskContainer.Java:84)at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.Java:144)at org.sonar.core.platform。 org.sonar.scanner.bootstrap.GlobalContainer.executeTask(GlobalContainer.Java:119)at org.sonar.batch.bootstrapper.Batch.executeTask(Batch.Java:116)at ComponentContainer.execute(ComponentContainer.Java:129)at org。 .sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.Java:63)at Sun.reflect.NativeMethodAccessorI mpl.invoke0(Native Method)at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)at Java.lang.reflect.Method.invoke(Method。 Java:498)org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.Java:60)at com.Sun.proxy。$ Proxy0.execute(Unknown Source)at org.sonarsource.scanner.api.EmbeddedScanner org.sonarsource.scanner.cli.Main.runAnalysis(Main.Java:123)のorg.sonarsource.scanner.api.EmbeddedScanner.runAnalysis(EmbeddedScanner.Java:151)の.doExecute(EmbeddedScanner.Java:233) org.sonarsource.scanner.cli.Main.main(Main.Java:61)のsonarsource.scanner.cli.Main.execute(Main.Java:77)04:56:21.710 DEBUG:実行getVersion 04:56:21.711 DEBUG :実行停止

6.4でも同じように実行すると問題なく動作し、コンソールに表示される警告は次のとおりです。

04:52:42.738警告:ソースファイルの分析用に依存関係のバイトコードが提供されていなかったため、結果の精度が低下する可能性があります。バイトコードはsonar.Java.librariesプロパティを使用して提供できます

10
Prashant Saddi

SonarQube Scanner実行中のエラーorg.sonar.squidbridge.api.AnalysisException:プロジェクトのコンパイル済みクラスにsonar.Java.binariesプロパティを提供してください

SonarJava 4.12以降、sonar.Java.binariesプロパティを指定する必要があります https://docs.sonarqube.org/display/PLUG/Java+Plugin+and+Bytecode

例:

sonar-scanner -Dsonar.projectKey=fr.demo:my-project -Dsonar.sources=. -Dsonar.Java.binaries=.
21
gujou

私もこの問題を抱えており、次の方法で修正しました。

このページ 以前のオプションであり、最新のアップデート(4.12)で必須になったエントリについて言及しています。 sonar.Java.binaries Jenkinsプロジェクト設定のエントリを設定する必要があります。設定すると、障害のあるフォルダーに対してもエラーが修正され、警告のみが残され、パイプラインが再び実行されます。

設定をJenkins-> "your project"-> Configuration-> Build-> Execute SonarQube Scanner-> Analysis Propertiesに追加する必要があります。このエントリを追加して、バイナリフォルダーをポイントします。

1
Adrian vdBoom

エラーメッセージは言う:

Error during SonarQube Scanner execution org.sonar.squidbridge.api.AnalysisException:
Please provide compiled classes of your project with sonar.Java.binaries property

Javaセンサーには.classファイル、.Javaファイル。

あなたは出来る:

  • それらのファイルを分析に追加します(ちなみに、より貴重なソナーの結果が得られます!)
  • ファイルを追加および削除して、どのコードが問題の原因であるかを調べ、Sonar Javaバグとして報告してください
1
slartidan

SonarQube最新の6.5バージョンにアップグレードした後でも、私も同じ問題に直面していました。しかしSonarJava plugin(from 4.12から4.11)にダウングレードした後、動作しました。それがあなたを助けることを願っています。

0
Ben.Bean