3

Javassist バージョン3.12.1.GAに依存する Maven プロジェクトがあり、(中央のリポジトリに加えて) 2 つのリポジトリがあります: JBoss (https://repository.jboss.org/nexus/content/groups/public) とJava.net (http://download.java.net/maven/2)。

リポジトリごとの Javassist の利用可能な最新バージョンは次のとおりです。

  • 中央: 3.12.1.GA
  • JBoss: 3.12.1.GA (バージョン 3.3 も含まれます。以下を参照)
  • Java.net: 3.3 (利用可能な唯一のバージョン)

を実行するmvn versions:display-dependency-updatesと、Javassist のバージョンをアップグレードできると表示されます。

javassist:javassist ......... 3.12.1.GA -> 3.3

つまり3.3 > 3.12.1.GA、この特定のケースでは、これは真実ではありません!

javassist に触れてはならないこと、またはこの特定の依存関係に別の順序を使用する必要があることをバージョンプラグインに伝えるにはどうすればよいですか?

4

1 に答える 1

2

原因は、Maven が Maven 形式ではないバージョン番号を文字列として扱うため、3.3 が 3.12.1.GA よりも大きいことです。versions-maven-plugin を使用して javassist の除外を定義できます ( - Dexcludes=javassist:javassist)。または、比較する独自のバージョンを作成し、それをルールセットとして使用することもできます。

独自のリポジトリ マネージャーを実行している場合は、もちろん正しい Maven バージョン番号を使用して手動で javassist jar をそこに追加し、versions-maven-plugin が意図したとおりに機能するようにすることができます。

于 2011-05-17T20:05:38.687 に答える