2015-08-26 8 views
0

У нас есть Sonar и Jenkins, расположенные на одной машине, и анализ Sonar запускается как шаг задания Jenkins. Работы Jenkins построены с Maven 3.0.5.Maven не может разрешить версию Sonar-maven-plugin 5.1.2

Все было в порядке, пока мы не обновили Sonar от 4.5.x до 5.1.2 вчера.

После этапа обновления гидролокатора не удалось, за исключением:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed выполнить цель org.codehaus.mojo: сонара-Maven-плагин: 2.0: сонар (по умолчанию-кли) по проекту TestApplication: Невозможно выполнить сонар

Вызванный: org.apache.maven.plugin.MojoExecutionException: Невозможно выполнить сонар

Вызвано: org.apache.maven.plugin.PluginResolutionException: Плагин org.codehaus.sonar: sonar-maven3-plugin: 5.1.2 или одна из его зависимостей не может быть разрешена: не удалось прочитать дескриптор артефакта для org.codehaus .sonar: гидролокатора-maven3-плагин: баночка: 5.1.2

Вызванный: org.sonatype.aether.resolution.ArtifactDescriptorException: Не удалось прочитать артефакт дескриптор для org.codehaus.sonar: гидролокатора-maven3-плагин : баночка: 5.1.2

Вызванный: org.sonatype.aether.resolution.ArtifactResolutionException: Неспособность найти org.codehaus.sonar: сонар-maven3-плагин: пОМ: 5.1.2 в http://repo.maven.apache.org/maven2 кэшировалась влокальный репозиторий, разрешение не будет повторная попытка, пока интервал обновления центрального не прошло и обновления вынуждены

Мы выяснили, что есть на самом деле 5.1 версия org.codehaus.sonar: сонар-maven3-плагин, но нет 5.1.2 в maven repo.

Fix:

Нам удалось исправить принуждение org.codehaus.mojo: версия эхолота-Maven-плагин для 2.6 через в нашем файле п, в соответствии с рекомендациями на официальном Analyzing with Sonar доке

Но так как у нас есть десятки проектов, должно быть лучшее решение, а не изменять POM файлы каждого отдельного проекта

ответ

1

Ok, простое решение найдено:

В Maven г (.m2) было кэшировано, что последняя версия org.codehaus.mojo: sonar-maven-plugin 2.0, хотя последний из них 2.6. (В файле .m2/repository/org/codehaus/mojo/sonar-maven-plugin/maven-metadata-central.xml)

Старая версия сильно отличается от нового в том, как она работает (см Which sonar-maven-plugin version to use?)

Мы удалили .m2/хранилище/орг/Codehaus/харизма/сонар-Maven-плагин , чтобы загрузить более новую версию.

+0

Лучше всего определить используемую версию вашей сборки в вашем файле pom. – khmarbaise

+0

Я не согласен: представьте, что у нас много успешных рабочих заданий. Было бы плохо изменить их все. И вы должны делать это каждый раз, когда выходит новая версия. –

+0

Если вы этого не сделаете, ваш успех зависит от локального хранилища (другими словами, репозитория). – khmarbaise

 Смежные вопросы

  • Нет связанных вопросов^_^