Обновите sonar-maven-plugin как минимум до версии 2.3.

Я создаю проект в Jenkins с Sonar Integration.

Все идет гладко до части анализа сонара. Я получаю следующую ошибку:

[ОШИБКА] Не удалось выполнить цель org.codehaus.mojo:sonar-maven-plugin:2.2:sonar (default-cli) в проекте проекта-независимо: не удается выполнить анализ SonarQube: обновите модуль sonar-maven-plugin как минимум до версии 2.3 -> [Справка 1]

и тогда сборка терпит неудачу.

Должен пояснить, что у меня нет ссылок на сонар в моем проекте pom.xml. Это было сделано исключительно с конфигурацией Jenkins.

Я использую последние доступные версии как для Jenkins (1.599), так и для Sonar (5.0). Все плагины Jenkins обновлены. Уже искал способ обновить версию sonar-maven-plugin, но не могу найти: то ли его нет, то ли я не там ищу...

У кого-нибудь есть идея, как обойти это?


person Joao Baltazar    schedule 18.02.2015    source источник
comment
Привет Фабрис, спасибо за быстрый ответ. Как я уже упоминал ранее, у меня нет ссылок на плагин ни в одном из моих POM. У меня есть сервер Nexus, но до сих пор он не был источником каких-либо проблем. Я посмотрю на это!   -  person Joao Baltazar    schedule 18.02.2015
comment
Я проверил свой сервер Nexus, прокси работает нормально, я вижу там версию плагина 2.5. Однако, если я проверю свою установку Jenkins (/var/lib/jenkins/.m2/repository/org/codehaus/mojo/sonar-maven-plugin), у меня будет только версия 2.2.   -  person Joao Baltazar    schedule 18.02.2015
comment
Ну, у меня такое ощущение, что есть проблема с вашей установкой Jenkins/Maven, потому что у вас не должно быть такой проблемы - это действительно прозрачно, когда ваша установка Maven имеет полный доступ к центральному репозиторию Maven.   -  person Fabrice - SonarSource Team    schedule 18.02.2015
comment
Разве не может быть, что плагин Sonar (для jenkins, а не maven) имеет устаревшую зависимость?   -  person Joao Baltazar    schedule 18.02.2015
comment
Плагин Jenkins не имеет заблокированной зависимости от sonar-maven-plugin. Одно из различий между версиями 2.2 и 2.3 заключается в том, что предварительное требование Maven было обновлено с 3.0 до 3.0.2. Можете ли вы предоставить свою версию Maven? Также вы можете попытаться принудительно обновить все плагины, используя опцию Maven -U.   -  person Julien H. - SonarSource Team    schedule 19.02.2015
comment
Я не знаю, возможно ли следующее: можно ли попытаться удалить Maven версии 2.2 из вашего репозитория и снова обновить файлы, поэтому Nexus вынужден загрузить последнюю версию?   -  person Krummy    schedule 20.02.2015
comment
Я собирался это сделать, и когда я проверил репозиторий maven, я заметил новую папку 2.5. Я прикинул, что как-то проблема решилась сама собой и пошел запускать сборку с сонаром - не получилось с той же ошибкой. Затем я фактически удалил файл 2.2. папка, сохраняя только файлы 2.5. Снова запустил сборку, и снова произошел сбой с той же ошибкой. Я проверил репозиторий, и версия 2.2 снова была там. Итак... что-то на самом деле требует 2.2. версия явно!   -  person Joao Baltazar    schedule 20.02.2015


Ответы (2)


Я смог решить эту проблему, перейдя в «Управление Jenkins» -> «Настроить систему» ​​-> прокрутите до раздела SonarQube -> нажмите «Дополнительно» -> заполните «Версия sonar-maven-plugin» той версией, которую вы хотели бы использовать. ... Я использовал 2.5.

person rkaltreider    schedule 31.03.2015
comment
Это сработало! Это новая опция в плагине sonarqube? - person Joao Baltazar; 07.04.2015

Если вы можете изменить корень pom.xml, то также должно работать следующее:

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.sonarsource.scanner.maven</groupId>
        <artifactId>sonar-maven-plugin</artifactId>
        <version>3.1.1</version>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

Дополнительные сведения см. в документах SonarQube.

person Enigo    schedule 17.11.2016