2

Mavenが外部リポジトリにアクセスできないように構成されているマシンでコマンドを実行しようとしmvn sonar:sonarています(実際にはそうではありませんが、問題を説明するのに役立ちます)。

したがって、現在、このコマンドを実行すると、次のエラーが発生します。

[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

4

3 に答える 3

3

FAQからの提案を試しましたか?

プラグイン'org.apache.maven.plugins:maven-sonar-plugin'が存在しないか、有効なバージョンが見つかりませんでした

mavenコマンドライン「mvnsonar:sonar」を起動した後にこのエラーメッセージが表示された場合は、コマンドラインに「-U」パラメータを追加してください。その後、Mavenはローカルリポジトリを最新バージョンのSonarMavenプラグインで更新します。

「-U」パラメーターを追加しても問題が解決しない場合は、MavenのバグMNG-4001が発生していることは確かです。唯一の既知の回避策は、ローカルのMavenリポジトリーのorg \ codehaus\mojoディレクトリーを削除することです。もちろん、ローカルのMavenリポジトリーがNexusなどのリポジトリー・マネージャーと同期されている場合、この操作はリポジトリー・マネージャー側でも実行する必要があります。

于 2010-06-16T09:09:17.093 に答える
2

(プラグインを使用して)JenkinsからSonarを実行している人へのヒントと同じように、私たち自身も同様の問題を目にしました。

しかし、公式ドキュメントが言うように:http: //docs.sonarqube.org/display/SONAR/Analyzing+with+Mavenセクション:Mavenプラグインのバージョンを修正する方法

sonar-maven-pluginのバージョンは、Jenkins-> Configuration-> Sonar-> "Versionofsonar-maven-plugin"で修正できます。

  • Maven 2の場合:1.0
  • Maven 3の場合:2.0

結果として、バージョン解決+ルックアップをスキップします=>ここで報告された問題を防ぎます。

更新

さて、私はちょうど気づきました、それはジェンキンスだけでなくどんな場合にも適用できます。ルックアップを防ぐために、バージョンを明示的に指定できます。

于 2013-08-08T07:12:01.373 に答える
1

これは主にMavenメタデータファイルの問題であったため、私の問題は解決されました。

にはorg/codehaus/mojo/sonar-maven-plugin正しいmaven-metadata.xmlファイルが含まれていませんでした。したがって、Maven2はプラグインのどのバージョンが必要かを知ることができませんでした。それを追加すると、私の問題は解決しました。

于 2010-06-16T12:48:43.167 に答える