У нас есть 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 файлы каждого отдельного проекта
Лучше всего определить используемую версию вашей сборки в вашем файле pom. – khmarbaise
Я не согласен: представьте, что у нас много успешных рабочих заданий. Было бы плохо изменить их все. И вы должны делать это каждый раз, когда выходит новая версия. –
Если вы этого не сделаете, ваш успех зависит от локального хранилища (другими словами, репозитория). – khmarbaise