为什么Maven命令“mvn sonar:sonar"?在我的“pom.xml"中没有任何插件配置就可以工作?

2022-01-17 00:00:00 sonarqube java maven maven-plugin

我的仓库中有一个 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)

相关文章