2017-08-18 7 views
1

Javaプロジェクトのいずれかでsonarqube分析を実行していますが、違反が多数報告されています。報告される違反の大半は、 squid:MaximumInheritanceDepthプロジェクト内のすべてのJavaファイルに対して特定のsonarqubeルールを無効にする

This class has 6 parents which is greater than 5 authorized

私は、プロジェクト内の100の以上のクラスを持っていると私はクラスごと@SuppressWarning注釈を追加する必要はありません。

プロジェクト内のすべてのJavaファイルに対してこのルールを無効にする方法はありますか?

答えて

2

1つの方法は、このルールを削除したプロファイルのコピーを使用してこのプロジェクトを分析することです。

もう一つは、第三の選択肢があり、既存のプロファイルから別のプロファイル、inheritルールを作成し、この特定のルールのパラメータ値を更新することで、値を6にぶつかる(または7または...)

exclusionsを使用して、プロジェクト内のファイルに対して効果的にそのルールを無効にします。

ゴー複数の基準に問題を無視して、ルールのキー(squid:MaximumInheritanceDepth)とファイルパターン(**/*.java)に記入>管理]> [一般設定]> [分析範囲を投影し、それはトリックを行う必要があります。

+0

こんにちは@ g-ann-sonarsource-teamさん、ありがとうございます。私たちはsonarqubeサーバーを維持していないので、最初の2つのオプションを実際に使用することはできず、中央で制御されています。 3番目のオプションを使用すると、特定のタイプのファイルを除外することができますが、特定のタイプのルールを除外するにはどうすればよいのでしょうか?ありがとう – Prasann

+0

これは、@ Ruleを無視するルールを指定するための 'Rule Key'パラメータです。 –

+0

こんにちは@ g-ann-sonarsource-team、遅く応答して申し訳ありません、私は数日間の休日にあったとあなたの返信に感謝します。管理からのルールを無効にするのはsonarqubeサーバー上ですが、sonar-project.propertiesから可能な場合、またはルールを無視するようにJVMパラメータを設定することにより、オプションを探しています。そのようなものがあれば教えてください。 – Prasann

関連する問題