2013-02-20 62 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