2015-09-18 9 views
5

重複する質問のように見えるかもしれませんが、私はソナールールに準拠したコードサンプルを投稿しました。以下の強調表示されたコードをSonarQubeで評価すると、squid:S1948ルール違反が発生します。SonarQube - "Serializable"クラスのルールフィールドは、一時的または直列化可能である必要があります

enter image description here

結果、まだ

enter image description here

理由準拠したコードのための上映違反、plzは明確にすることをその謎。でもsonar.java.binaries

ソナースキャンで解決しない

UPDATE

一時的または直列化可能な問題は、成功しているが、クラスローダは警告スロー:

08:26:44.984 INFO - Java bytecode scan... 08:26:44.992 WARN - Class 'dummyserial/Address' is not accessible through the C lassLoader. 08:26:44.993 WARN - Class 'dummyserial/Person' is not accessible through the Cl assLoader. 08:26:44.993 WARN - Class 'dummyserial/Address' is not accessible through the C lassLoader. 08:26:44.994 WARN - Class 'dummyserial/Person' is not accessible through the Cl assLoader. 08:26:44.994 WARN - Class 'dummyserial/Address' is not accessible through the C lassLoader. 08:26:44.997 WARN - Class 'dummyserial/Person' is not accessible through the Cl assLoader. 08:26:44.998 INFO - Java bytecode scan done: 14 ms

+0

Addressクラスはどのように見えますか? – fge

+0

どのようにAddressクラスを定義しましたか?あなたは分析にバイトコードを提供しましたか? (あなたの解析は、Mavenやソナーランナーで実行されますか?後者の場合は、 'sonar.java.binaries'を使用して.classファイルを提供しましたか?) – benzonico

+0

@benzonico、PersonとAddressの両方が別々のjavaファイルsonar.sources = srcのソナーランナーを通して。 – Jeevanantham

答えて

5

以前に応答したとして、あなたが記入しなければなりませんsonar.java.binariesプロパティを使用して、バイトコード解析とシンボル解決を可能にします。この特性が満たされていると、分析はそのような場合には何の問題も生じません。

ここで、フィールドのシンボルタイプを解決できない場合は、問題が発生することは間違いありません。問題を処理するために次のチケットを作成しました:SONARJAVA-1266

+0

はあなたの提案を今私の状態を更新しようとします、Sonarチームがこれからのバージョンでこれを解決することを願って、ありがとう/ – Jeevanantham

+0

は 'sonar.java.binaries'まだ運がない、問題の詳細を更新ヘッダーの下で更新する – Jeevanantham

関連する問題