私はオープンソース プロジェクトを維持し、そのリリースをThe Central Repositoryに公開しています。を公開しましoshi-core-2.6
た。そのリリースの私のバージョン管理は次のpom.xml
とおりです。
<groupId>com.github.dblock</groupId>
<artifactId>oshi-core</artifactId>
<version>2.6</version>
日付/時刻関数のため、私のコードには Java 8 が必要です。ユーザーの要求をサポートするために、このリリースの直前に、threeten バックポートを使用して Java 7 互換バージョンをリリースしましたpom.xml
。
<groupId>com.github.dblock</groupId>
<artifactId>oshi-core</artifactId>
<version>2.6-m-java7</version>
How Version Numbers Work in Mavenは、「修飾子を持つすべてのバージョンは、修飾子のない同じバージョン (リリース バージョン) よりも古い」と述べています。別の StackOverflow の質問、maven はバージョン番号をどのように並べ替えますか? には、ga/final (空の文字列) リリースよりも「早く」ソートされるはずのいくつかのよく知られた修飾子 (アルファ、ベータ、マイルストーン、rc、およびスナップショット) をリストするComparableVersionクラスを引用した回答があります。
以前のバージョンでカスタム修飾子を使用してい-m-
たので、Java7 バージョンでマイルストーン修飾子 ( ) を使用して、2.6 よりも「前の」リリースであることを Maven に示すようにしました。ただし、中央リポジトリを検索する-m-
と、バージョンが「最新バージョン」であることが示されます。
私が持っている質問:
- 中央リポジトリの並べ替えが、上記でリンクした文書化された並べ替えと一致しないのはなぜですか?
- Maven のソートの以前のバージョン (3.2 より前) を使用していますか? もしそうなら、どのような一貫した「最新バージョン」のソートを期待できますか?
- アーティファクト名のハイフンは何か影響がありますか?
- 同じバージョン番号を 2 つの形式でリリースする方法として、私が (明らかに下手に) 選択した方法よりも良い方法はありますか?