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

2022-08-31 14:36:27

我的存储库中有一个 Maven Web 项目。

我是一个Maven新手,但我仍然明白这样一个事实,即有些插件我们需要配置,然后我们才能运行插件特定的命令。

事实:

我在端口 9000 的本地计算机上运行了一个声纳服务器。

我没有在我的POM中添加任何特定于声纳的插件.xml

参考:

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

观察:

但是,当我从命令行在项目中运行时,它仍然工作正常。mvn sonar:sonar

事实是我没有在我的POM中配置声纳插件.xml即使这样,地狱Maven从哪里拾取并理解“声纳:声纳”目标/命令?

问题/好奇心:

我不想要声纳本身的工作知识。我想知道为什么在我的pom中不配置声纳插件即可工作.xmlmvn sonar:sonar

为什么以及如何?


答案 1

原因是Sonar Maven插件托管在Codehaus Mojo项目中,并从groupId“org.codehaus.mojo”中受益。这允许使用快捷方式“sonar:sonar”而不是“org.codehaus.mojo:sonar-maven-plugin::sonar”(请参阅Maven文档的“配置Maven以搜索插件”部分))


答案 2

Sonar有自己的一组插件(例如maven-checkstyle-plugin),它在被调用时正在运行。这些插件会根据您在配置的Sonar服务器中的项目设置自动配置。

这背后的原因在于在您的声纳实例中具有受控配置。

它自动为您工作的原因是您正在使用声纳服务器安装的默认值(localhost:9000)。

这种“零配置”方法在这里进一步详细说明:我们有一个梦想:mvn声纳:声纳


推荐