为什么Maven命令“mvn sonar:sonar”在我的“pom.xml”中没有任何插件配置的情况下工作?
我的回购中有一个Maven Web项目。
我是一个Maven noob,但我仍然明白我们需要配置插件才能运行插件特定命令。
事实:
我有一个声纳服务器在我的本地机器上运行9000端口。
我没有在我的POM.xml中添加任何声纳特定插件
参考:
http://www.sonarsource.org/we-had-a-dream-mvn-sonarsonar/
观察:
但是当我从命令行运行mvn sonar:sonar
,它工作正常。
事实很重要的是我没有在我的POM.xml中配置声纳插件即使那时Maven正在拾取并理解“声纳:声纳”目标/命令?
问题/好奇心:
我不想要声纳本身的工作知识。 我想知道为什么mvn sonar:sonar
无需在我的pom.xml中配置声纳插件
为什么以及如何?
原因是Sonar Maven插件托管在Codehaus Mojo项目中,并受益于groupId“org.codehaus.mojo”。 这允许使用快捷方式“sonar:sonar”而不是“org.codehaus.mojo:sonar-maven-plugin :: sonar”(请参阅Maven文档的 “配置Maven搜索插件”一节)
Sonar有自己的插件集(例如maven-checkstyle-plugin),它在调用时运行。 这些插件根据配置的Sonar服务器中的项目设置自动配置。
这背后的原因是在你的声纳实例中有一个受控配置。
它为您自动工作的原因是您正在使用声纳服务器安装的默认值(localhost:9000)。
这种“零配置”的方法在这里进一步详述: 我们有一个梦想:mvn声纳:声纳