Исполнение "mvn sonar: sonar" без внешнего доступа - PullRequest
2 голосов
/ 16 июня 2010

Я пытаюсь выполнить команду mvn sonar:sonar на машине, на которой Maven настроен так, чтобы не иметь доступа к внешним репозиториям (на самом деле это не совсем так, но это помогает мне объяснить мою проблему).

Так что в настоящее время, если я запускаю эту команду, я получаю следующую ошибку:

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] The plugin 'org.codehaus.mojo:sonar-maven-plugin' does not exist or no valid version could be found

Я думаю, это означает, что у меня есть некоторые неверные метаданные в моем локальном хранилище, поскольку у меня есть каталог [local repo]\org\codehaus\mojo\sonar-maven-plugin\1.0-beta-1(с JAR внутри, конечно).

У вас есть идеи, почему моя команда не работает?

техническая информация: Maven 2.2.1, Java 1.6, Sonar 2.1.2

Ответы [ 3 ]

3 голосов
/ 16 июня 2010

Вы пробовали предложения из FAQ:

Плагин 'org.apache.maven.plugins: maven-sonar-plugin' не существует или не может быть найдена верная версия

Если вы получите это сообщение об ошибке после запуск командной строки maven "mvn" sonar: sonar "добавить параметр" -U "в командная строка. Maven будет тогда обновить свой локальный репозиторий с последняя версия сонара Maven плагин.

Если добавление параметра "-U" не исправить вашу проблему, вы, конечно, обнаружена ошибка Maven MNG-4001 . Единственный известный обходной путь - это удалить каталог org \ codehaus \ mojo в вашем местный репозиторий Maven. Конечно, если ваш местный репозиторий Maven синхронизируется с менеджером хранилища как Nexus, эта операция должна быть также сделано на менеджере хранилища сторона.

2 голосов
/ 08 августа 2013

Точно так же, как подсказка для тех, кто работает с Sonar от Jenkins (используя плагин), мы сами видели похожую проблему.

Но, как говорят официальные документы: http://docs.sonarqube.org/display/SONAR/Analyzing+with+Maven в разделе: Как исправить версию плагина Maven

Вы можете исправить версию sonar-maven-plugin в Jenkins -> Конфигурация -> Sonar -> «Версия sonar-maven-plugin»:

  • для Maven 2 до: 1,0
  • для Maven 3 до: 2,0

В результате будет пропущено разрешение версии + lookup => для предотвращения проблемы, о которой здесь сообщается.

UPDATE

Ну, я только что понял, это применимо для любого случая, а не только для Дженкинса. Вы можете указать версию явно, чтобы предотвратить поиск.

1 голос
/ 16 июня 2010

Моя проблема решена, поскольку в основном это была проблема файла метаданных maven.

org/codehaus/mojo/sonar-maven-plugin не содержит правильный файл maven-metadata.xml. Таким образом, Maven 2 не смог узнать, какая версия плагина была необходима. Добавление его решило мою проблему.

...