20

Maven インデクサーを使用して、Maven 中央リポジトリから Maven インデックスを取得しています。org.sonatype.aether から org.eclipse.aether に、maven 3.0.5 から maven 3.1.0 に更新したため、この例外が発生しています。

Caused by: java.lang.ClassNotFoundException: org.sonatype.aether.version.InvalidVersionSpecificationException
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)

Maven から、次のページをチェックするように言われました: http://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFound。それをしました。しかし、このページでは、彼らはこの問題を認識しており、maven 3.1.0 で実行するようにいくつかの maven プラグインを更新したとだけ言っています。しかし、彼らは何が問題で、それをどのように解決するかについては言いません。それはあまり役に立ちません。自分のプラグインをmaven 3.1.0で動作させるには何を変更する必要がありますか???

依存関係を次のように再確認しました。

mvn dependency:tree

そして、例外を含む古い org.sonatype.aether.aether-api.jar がまだプロジェクトにあるようです。したがって、基本的に org.sonatype.aether.version.InvalidVersionSpecificationException は私のプロジェクトの一部です。では、なぜこの例外が発生するのでしょうか??

4

3 に答える 3

26

新しいバージョンの maven-dependency-plugin を使用してください。

<plugin>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.8</version>
    .... your configuration here ....
</plugin>
于 2013-10-08T04:57:18.147 に答える
11

このエラーは、Sonatype Aether から Eclipse Aether への Maven 3.1-alpha-1 の移行が原因で発生します。これは、一部のプラグインの互換性のない変更です。

この変更をサポートするために、Maven 3.0.x と 3.1.x の両方で動作する影響を受けるプラグインの新しいバージョンが公開されました。影響を受けるプラグインと必要最小限のバージョンのリストは、https://cwiki.apache.org/confluence/display/MAVEN/AetherClassNotFoundで入手できます。

于 2014-04-23T20:06:43.160 に答える
1

以前のコメントを回答に変換するには、次を使用できます。

mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:tree

当然、任意のバージョンを指定できます。

于 2021-08-17T00:25:56.043 に答える