web-dev-qa-db-ja.com

ラインが範囲外のソナークスキャンエラー?

[07:43:57] W:[ステップ1/1]エラー:SonarQubeスキャナー実行中のエラー

[07:43:57] W:[ステップ1/1]エラー:行523がファイルsrc/main/Java/com/company/package/File.Javaの範囲外です(行:522)

何らかの理由でSonarqubeは523行目にエラーを報告していますが、ソースファイルには522行しかありません。

以前のファイルでこれを確認しましたが、ファイルの最後に空白行を追加したところ、問題は解決しましたが、このファイルの最後にはすでに空白行が含まれています。

18
Ro.

Sonar mavenプラグインとjacocoテストレポートを使用するときにも同じ問題が発生しました。 mvn sonar:sonarソースコードが変更されたとき(行が削除された)、existintig jacocoレポートに依存していますが、テストレポートが更新されていなかったため、このエラーが発生しました。ランニング mvn clean test sonar:sonar解決しました。

18
Don

私は試した gradle clean buildそしてそれは私のために働いた

3
StackUser

私にとっては、私がまったく同じクラスを持っていたからです(たとえば、com.test.MyClass)2つの異なるサブモジュール(maven)での名前とパッケージ名。最初のモジュールでのMyClassは、120行のコードよりも大きくなっています。 2番目のモジュールのMyClassは短いため、レポートはJaCoCoだったため、例外がスローされていました。

解決策は、クラスの1つを名前変更するか、別のパッケージに移動することでした。

つまり:com.test.MyClassおよびcom.test.MyClassB

または:

com.test.MyClassおよびcom.test.foo.MyClass

1
Sam

maven cleanを実行しても機能しない場合は、クリーンアップが必要な古いプロジェクトフォルダがあるかどうかを確認してください。 maven pomからサブモジュールを削除すると、jacocoレポートが含まれている/ targetディレクトリを含むフォルダーは古くから削除されません。

0
borjab

私の場合、Swiftで記述されたiOSプロジェクトでは、以前のレポートを削除する必要がありました。ソナーレポートフォルダーを削除するだけです。

0
pegpeg

同様の問題がpythonコードでも発生します。ファイルの最後に空白行を追加することで解決しました。

0
MFIhsan