質問
私は実行しようとします 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
ディレクトリ(もちろん、瓶が内部にあります)。
なぜ私のコマンドが失敗しているのか分かりますか?
Tech Infos:Maven 2.2.1、Java 1.6、Sonar 2.1.2
解決 3
私の問題は、主にMaven Metadataファイルの問題であるため、現在解決されています。
org/codehaus/mojo/sonar-maven-plugin
正しいものが含まれていませんでした maven-metadata.xml
ファイル。したがって、Maven 2は、どのバージョンのプラグインが必要であるかを知ることができませんでした。それを追加すると、私の問題が解決されました。
他のヒント
FAQから提案を試しましたか:
プラグイン 'org.apache.maven.plugins:maven-sonar-plugin'は存在しないか、有効なバージョンが見つかりませんでした
Mavenコマンドライン「MVNソナー:ソナー」を起動した後にこのエラーメッセージが表示された場合、「-U」パラメーターをコマンドラインに追加します。 Mavenは、Sonar Mavenプラグインの最新バージョンでローカルリポジトリを更新します。
「-u」パラメーターを追加しない場合、問題が解決しない場合、Mavenバグに遭遇しました MNG-4001. 。唯一の既知の回避策は、ローカルMavenリポジトリのorg codehaus mojoディレクトリを削除することです。もちろん、地元のMavenリポジトリがNexusのようなリポジトリマネージャーと同期している場合、この操作はリポジトリマネージャー側でも行う必要があります。
Jenkinsからソナーを走っている人たちのヒント(プラグインを使用)として、同様の問題が見られました。
しかし、公式のドキュメントが言うように: http://docs.sonarqube.org/display/sonar/analyzing+ whe with+maven セクション:Mavenプラグインのバージョンを修正する方法
Sonar-Maven-PluginのバージョンをJenkins-> Configuration-> Sonar->「Sonar-Maven-Pluginのバージョン」:
- Maven 2の場合:1.0
- Maven 3の場合:2.0
その結果、バージョン解像度 + lookup =>ここで報告された問題を防ぐことができます。
アップデート:
まあ、私はそれがジェンキンスだけでなく、どんなケースにも適用されることに気づきました。ルックアップを防ぐために、バージョンを明示的に指定できます。