2013-02-20 94 views
28

我的回購協議中有一個Maven web項目。爲什麼Maven命令MVN聲納:聲納在我的POM.xml中沒有任何插件配置?

我是Maven noob,但我仍然明白有一些插件需要配置才能運行插件特定的命令。

事實:

我在端口號爲9000

我的本地機器上運行的服務器聲納我還沒有在我的pom.xml

參考添加任何聲納特定插件:

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

觀察:

但仍當我在命令行我的項目運行mvn sonar:sonar它工作正常。的事實

物質是從在地獄Maven是拿起和理解「聲納:聲納」我還沒有在我的pom.xml配置聲納插件,即使是這樣的目標/命令?

問題/好奇心:

我不想聲納本身的知識。我想知道爲什麼mvn sonar:sonar在沒有在我的pom.xml中配置聲納插件的情況下工作

爲什麼以及如何?

回答

38

的原因是聲納Maven插件在距離的groupId「org.codehaus.mojo」的Codehaus Mojo project和福利主持。這允許使用快捷方式「sonar:sonar」而不是「org.codehaus.mojo:sonar-maven-plugin :: sonar」(請參閱​​Maven documentation的「配置Maven以搜索插件」一節)

+0

事實答案!!!很酷,謝謝:) – 2013-03-06 14:33:24

+1

還是不明白爲什麼讓groupId「org.codehaus.mojo」讓我們使用快捷鍵? – Ievgen 2015-03-12 17:34:25

+0

@levgen org.apache。maven.plugins和org.codehaus.mojo是特殊的組ID。請參閱http://maven.apache.org/guides/introduction/introduction-to-plugin-prefix-mapping.html的最後一部分。 – 2015-03-13 13:25:13

4

Sonar擁有自己的一組插件(例如maven-checkstyle-plugin),它在被調用時正在運行。這些插件會根據您配置的Sonar服務器中的項目設置自動配置。

背後的原因是在你的聲納實例中有一個受控的配置。

它自動爲您工作的原因是您正在使用聲納服務器安裝(localhost:9000)的默認值。

這種「零配置」的方法是進一步詳細位置:We had a dream : mvn sonar:sonar

+0

修改題。 – 2013-02-20 12:21:21

+0

已添加引用 – Torsten 2013-02-20 12:47:04

+0

不,Sonar直接執行代碼分析器,如Checkstyle,PMD和Findbugs,而不依賴於相關的Maven插件。它允許支持非Maven環境。 此外,對於信息Sonar嵌入自己的增強型代碼分析器。 – 2013-03-05 21:57:31