9

カスタム修飾子に関するMavenのポリシーが何であるかを把握しようとしています。Mavenがチェックするバージョン文字列には、次のような特定の修飾子が存在することを知っています。

1.0.0-スナップショット

5.3.0-ベータ-5

などですが、次のようなカスタム修飾子を処理できる特定のルールまたは何かを記述できるかどうか疑問に思っていました。

1.0.0-マイブランチ

5.3.0-myotherbranch

または、maven がそのようなバージョン文字列をどのように処理するか。私はそれらを試してみましたが、問題ないようです.Mavenに使用できるカスタムロジックがあるかどうか疑問に思っています.

ありがとう!

4

2 に答える 2

8

これらの例は問題なく動作します。

修飾子には、以下以外の特別な意味はありません。

  • 正しいタイムスタンプ / ビルド番号に変換される SNAPSHOT
  • 数値のみ。実際には修飾子ではなくビルド番号です (対応するベース バージョンよりも新しいと見なされます)。

すべての修飾子は、関連するリリースよりも古いと見なされます。つまり、1.2-beta-1 < 1.2 です。

修飾子の比較は、文字列比較として行われます。この動作は、Maven 2.x と Maven 3.x で異なる場合があります (前者では 1.0-beta-10 < 1.0-beta-5 であり、後者では予想どおり逆に動作します)。

于 2011-08-16T03:42:51.827 に答える
6

2011年の回答は、多くの重要な詳細で廃止されました。現在のバージョンの処理ロジックについては、https: //maven.apache.org/ref/3.3.9/maven-artifact/apidocs/org/apache/maven/artifact/versioning/ComparableVersion.html の Javadocとそこにある Wiki リンクを参照してください。 .

cf maven はバージョン番号をどのようにソートしますか? の Javadoc の解説については、ComparableVersion.

于 2016-08-04T21:06:02.297 に答える