为什么Maven命令“mvn sonar:sonar"?在我的“pom.xml"中没有任何插件配置就可以工作?
我的仓库中有一个 Maven Web 项目.
I have a Maven web project in my repo.
我是一个 Maven 菜鸟,但我仍然理解这样一个事实,即我们需要配置一些插件,然后才能运行插件特定的命令.
I am a Maven noob but still I understand the fact that there are plugins which we need to configure only then we could run plugin specific commands.
事实:
我有一个声纳服务器在我的本地机器上运行,端口为 9000.
I have a sonar server running on my local machine at port 9000.
我没有在我的 POM.xml 中添加任何声纳特定插件
I have not added any sonar specific plugin in my POM.xml
参考:
http://www.sonarsource.org/we-had-a-dream-mvn-sonarsonar/
观察:
但是当我从命令行在我的项目中运行 mvn sonar:sonar
时,它仍然可以正常工作.
But still when I run mvn sonar:sonar
in my project from command line it works fine.
事实是我还没有在我的 POM.xml 中配置声纳插件,即使那样 Maven 正在从哪里获取并理解声纳:声纳"目标/命令?
问题/好奇:
我不想要声纳本身的工作知识.我想知道为什么 mvn sonar:sonar
没有在我的 pom.xml 中配置声纳插件就可以工作
I don't want the working knowledge of sonar itself. I want to know why mvn sonar:sonar
works without configuring a sonar plugin in my pom.xml
为什么以及如何?
推荐答案
原因是 Sonar Maven 插件托管在 Codehaus Mojo 项目 并受益于 groupId org.codehaus.mojo".这允许使用快捷方式sonar:sonar"而不是org.codehaus.mojo:sonar-maven-plugin::sonar"(参见 Maven 文档)
The reason is that the Sonar Maven Plugin is hosted at the Codehaus Mojo project and benefits from the groupId "org.codehaus.mojo". This allows to use the shortcut "sonar:sonar" instead of "org.codehaus.mojo:sonar-maven-plugin::sonar" (see the section "Configuring Maven to Search for Plugins" of the Maven documentation)
相关文章