65

リポジトリに Maven Web プロジェクトがあります。

私は Maven 初心者ですが、プラグイン固有のコマンドを実行できるように設定する必要があるプラグインがあるという事実を理解しています。

事実:

ローカル マシンのポート 9000 でソナー サーバーを実行しています。

POM.xml にソナー固有のプラグインを追加していません

参照:

http://www.sonarsource.org/we-had-a-dream-mvn-sonarsonar/

観察:

しかしmvn sonar:sonar、コマンドラインからプロジェクトを実行すると、正常に動作します。

実際の問題は、POM.xml でソナー プラグインを構成していないことです。それでも、Maven はどこから「ソナー:ソナー」の目標/コマンドを取得して理解していますか?

質問/好奇心:

ソナー自体の実用的な知識は必要ありません。mvn sonar:sonarpom.xml でソナー プラグインを設定しなくても機能する理由を知りたい

なぜ、どのように?

4

5 に答える 5

63

その理由は、SonarMavenプラグインがCodehausMojoプロジェクトでホストされており、groupId「org.codehaus.mojo」の恩恵を受けているためです。これにより、「org.codehaus.mojo:sonar-maven-plugin :: sonar」の代わりにショートカット「sonar:sonar」を使用できます(Mavenドキュメントの「プラグインを検索するためのMavenの構成」のセクションを参照してください) 。

于 2013-03-05T21:52:50.760 に答える
5

Sonar には、呼び出されたときに実行される独自のプラグイン セット (maven-checkstyle-plugin など) があります。これらのプラグインは、構成された Sonar サーバーのプロジェクト設定に従って自動的に構成されます。

この背後にある理由は、ソナー インスタンスで制御された構成を持つことです。

自動的に機能する理由は、ソナー サーバーのインストール (localhost:9000) の既定値を使用しているためです。

この「ゼロ構成」アプローチについては、こちらで詳しく説明しています:私たちには夢がありました: mvn sonar:sonar

于 2013-02-20T12:16:37.690 に答える