Почему Maven управляет сонаром MVN: сонар работает без какой-либо конфигурации плагина в моем POM.xml?
У меня есть веб-проект Maven в моем репо.
Я Maven noob, но все же понимаю, что есть плагины, которые нам нужно настроить только тогда, когда мы можем запускать определенные команды для плагина.
Факты:
У меня есть сервер сонара, работающий на моем локальном компьютере в порту 9000.
В моем POM.xml не добавлен какой-либо сонарный плагин.
Справка:
http://www.sonarsource.org/we-had-a-dream-mvn-sonarsonar/
Замечание:
Но все же, когда я запускаю mvn sonar:sonar
в моем проекте из командной строки, он отлично работает.
Дело в том, что Я НЕ настроил плагин сонара в моем POM.xml. Даже тогда, откуда, черт побери, Мейвен собирает и понимает цель/команду сонара: сонара?
Вопрос/любопытство:
Мне не нужны рабочие знания самого сонара. Я хочу знать, почему mvn sonar:sonar
работает без настройки плагина сонара в моем pom.xml
ПОЧЕМУ и как?
Ответы
Ответ 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 sonar: sonar