web-dev-qa-db-ja.com

Mavenコマンド「mvn sonar:sonar」が「pom.xml」にプラグイン設定なしで機能するのはなぜですか?

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

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

事実:

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

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

参照:

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

観測:

それでも、コマンドラインからプロジェクトでmvn sonar:sonarを実行すると、問題なく動作します。

事実はPOM.xmlでソナープラグインを設定していません。それでも、Mavenが「ソナー:ソナー」の目標/コマンドを取得して理解しているところから

質問/好奇心:

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

なぜどうやって?

44
Rakesh Waghela

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

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

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

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

この「ゼロ構成」アプローチの詳細は次のとおりです。 夢がありました:mvn sonar:sonar

5
Torsten