問題タブ [sonar-runner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2165 参照

sonarqube - C++ コミュニティ プラグイン: Sonar-runner が間違ったファイル タイプをスキャンする + 字句エラー

Sonar サーバーをセットアップし、テスト プロジェクトをセットアップしていくつかのメトリックを取得しようとしていますが、いくつかの問題が発生します。環境:

  • OS: Windows Server 2008 R2 / amd64 / 6.1
  • アプリ サーバー: Tomcat/7.0.40I、Sonar WAR ファイル (3.5.1) をデプロイしました。
  • データベース: MySQL v5.6.11

(関連) プラグイン:

  • Sonar C++ Community Plugin (0.2) プラグインは [一般設定] --> [Sonar C++ Community Plugin] の下に表示されます

sonar-project.properties:

問題 1:

ソナーランナーを実行すると、.DOC などの無関係なファイルタイプを分析しようとするため失敗します (以下を参照)。

次を追加して問題のあるファイルタイプを強制的に除外するsonar.exclusions=**/*.doc,**/*.svcと、 sonar-project.properties ファイルにこの問題を回避できますが、むしろ期待どおりに動作するようになります(構成されたファイルのみを考慮に入れます)

問題 2:

分析は、スキャン中に「ファイル内の字句エラー」エラーの割り当てをスローします (以下を参照)。ソースのエンコーディングが異なる場合、これが発生する可能性があると思います。

問題は、sourceEncoding を UTF-8 に設定しましたが、エラーをスローするファイルも UTF-8 でエンコードされていることです (以下を参照)。

これらは単純な初心者のエラーかもしれませんが、これをすばやく簡単に修正する方法が見つかりません。途中で手伝ってくれませんか?

0 投票する
1 に答える
503 参照

java - ソナー参照プラグイン ウィジェットがダッシュボードに表示されない

ソナー参照プラグインのコードを参照してカスタム ソナー プラグインを作成しようとしていますが、この参照プラグインはソナー ダッシュボードにウィジェットを表示できませんか? .erb ファイルは

0 投票する
1 に答える
4736 参照

gradle - gradle を使用してマルチプロジェクト Java コードベースで sonarRunner を使用すると、正確に 1 つのプロジェクトのクラスがスキップされます

Gradleのマルチプロジェクトサポートを使用して構築したマルチモジュールJavaコードベースがあります。使用しているgradleのバージョンは1.6です。このコードは、Oracle ATG アプリケーションを構築するために使用されます。モジュール/プロジェクトと外部 ATG モジュール間の依存関係を管理するために、カスタム リゾルバーと共に gradle Java プラグインを使用します。

ビルドは正常に動作し、問題なくコンパイルして jar を作成できます。

また、gradle eclipse プラグインを使用して、gradle マルチプロジェクトを eclipse にインポートできます。これにより、すべてのサブプロジェクトが Eclipse にインポートされ、java ビルドパスが適切に管理されます。

Gradle に同梱されている sonar-runner プラグインを使用しています。Sonar のバージョンは 3.4.1 です。Sonar に同梱されている H2 データベースを使用しています。

これは、ルート プロジェクトで sonarRunner を構成するために使用するものですbuild.gradle

サブプロジェクトごとに、次のようにします。

Sonar ダッシュボードがネストされたモジュールを正しく表示できるように、 sonar.projectName プロパティを設定します。sonar.projectName の値は次のようになりますParentModule.ChildModule.SubChildModule

Sonar レポートは、1 つを除いてほとんどのモジュールで機能します。このモジュールのすべてのクラスを単に無視しているようです。

私のプロジェクト構造は次のようになります (内部クラスを含む Java クラスの数は右側にあります):

クラスを表示できないモジュールはRootProj/MyMod です

クラスが検出されたプロジェクトの場合、出力は次のようになります。

これは、そのプロジェクトの出力 SonarRunner です。

ご覧のとおり、問題のあるモジュールには、ソース ディレクトリを見つける行が表示されません。

Gradle デバッグ ログをオンにすると、次の値が出力されていることがわかりました。

上記の行はすべて一緒ではありませんでした。興味深いと思った値を貼り付けただけです。

私の推測ではRootProj.MyMod.versioned、Java クラスがないため、gradle プラグインまたは sonar-runner 自体のバグにより、親ディレクトリ true のクラスがスキップされます。

そこで、skipProject = true を使用しましたRootProj.MyMod.versioned。これで問題は解決し、RootProj.MyMod についてレポートされているクラスが表示されますが、Sonar は、ファイルがある RootProj.MyMod.versioned.catalog のレポートを実行しようとしなくなりました。

そのため、343 クラスまたは 33 クラスのソナー レポートを失うことで立ち往生しています。どちらも選ばないほうがいいです。

最後に、私の質問: 親や子ではなく、クラスがゼロのプロジェクトのみでレポートの実行を無効にする方法はありますか?

参考までに、関連性がある場合は、次のような構文を使用してコンパイル時の依存関係のみをセットアップします。

依存関係は、カスタム リゾルバーによって解決されます。

カスタム リゾルバーは私が管理していますが、コンパイルと Eclipse プラグインが正常に動作するため、問題の原因ではないと推測しています。

編集

Peter Niederwieser が述べたように、Sonar ランナーはリーフ プロジェクトでのみ動作します。しかし、すべてのプロジェクトがリーフ プロジェクトになるように、Gradle ソナー ランナー プラグインを構成して階層をフラットなものとして扱う方法が必要です。sonar-runner では、おそらくルート プロジェクトの sonar.modules を、分析する各プロジェクトの名前に設定できます。しかし、Gradle でこれを行うにはどうすればよいでしょうか。

sonar.modules各プロジェクトで設定しようとしましnullたが、効果がないようです。

0 投票する
1 に答える
422 参照

maven - ソナー3.3.5でJavaプロジェクトが分析されない

ソナーのサンプル Java プロジェクトに mvn sonar:sonar を指定すると、このエラーが発生します。サンプル プロジェクトはリンクからのものです。

Java プロジェクトを分析するプラグインを手動で配置する必要がありますか?

0 投票する
1 に答える
47 参照

java - テクノロジーに応じたソナー ウィジェットの表示

ウィジェットを構成した後、ダミーのウィジェットを作成し、ソナー ダボードに表示しました。ウィジェットがすべてのプロジェクトに表示されるようになりました。特定のテクノロジ (objc など) のウィジェットを表示し、他のテクノロジのウィジェットを非表示にするにはどうすればよいですか?

0 投票する
0 に答える
4146 参照

sonarqube - リモートマシンのソナーランナーが正しい jbdc 接続を取得していませんか?

RHEL6.2 サーバーに sonarqube 3.5.1 と sonar-runner 2.2.1 があり、sonar-runner はダウンロードしたサンプル データに対して正常に動作します。

しかし、私は sonar-runner を Windows クライアントにデプロイしましたが、H2 データベースへの接続に失敗しました。

だから、私は sonarqube の sonar-properties を更新しました

そして sonar-runner はサーバーに接続します

サーバーの完全なURLではなく、ローカルホストを選択する理由は明らかではありません。私は何かを見逃していますか/それとも、構成を変更する前にサービスを開始したときにこれが埋め込まれていますか????

助けてくれてありがとう

DD

0 投票する
3 に答える
4707 参照

sonarqube - Sonar を実行できません: 原因: Java ヒープ領域

Sonar Runner 2.2 と set を使用しSONAR_RUNNER_OPTS=-Xmx8000mていますが、次のエラーが発生します。

どうすればいいの?

0 投票する
1 に答える
432 参照

sonarqube - 求心性および遠心性結合のソナー マルチ モジュール統合レポート

マルチモジュール Maven プロジェクトがあり、モジュール間の求心性 (ca) および遠心性 (ce) カップリングのレポートを生成する必要があります。

現在、マルチモジュール プロジェクトで mvn sonar:sonar を実行すると、ca と ce がモジュール レベルで報告されます。これは、同じモジュールの他のクラスが特定のクラスをどのように参照しているかを示すだけです。

複数のモジュールにわたる ca と ce を知ることに興味がありました。

マルチモジュール構成を使用して、ソナーでそれは可能ですか。

現在、この制限を克服するために、ソースとクラスをすべてのモジュールから 1 つのフォルダーにコピーし、そのフォルダーでソナー レポートを実行する必要があります。

正しいアプローチは何ですか。ソナーに役立つ構成はありますか?