5

分類子を使用して Maven リポジトリにデプロイされる依存関係を持つマルチモジュール プロジェクトのバッチ モードで、コマンド ラインから Maven リリース プラグインを実行しようとしています。

release:prepare は、バッチ モードでない場合に正しく機能し、分類子を含むすべての未解決のスナップショット依存関係についてプロンプトを表示し、リリースが正常に完了します。

release.properties ファイルを見ると...

次のように識別される通常の依存関係

project.rel.groupIdXYZ:artifactIdXYZ=2.0.3.4
project.dev.groupIdXYZ:artifactIdXYZ=2.0.3.4-SNAPSHOT

次のように識別される分類子の依存関係

dependency.groupIdABC:artifactIdABC.release=2.0.3.4
dependency.groupIdABC:artifactIdABC.development=2.0.3.4-SNAPSHOT

実際の分類子 ID はありません。

今、私は次のようなコマンドラインでコマンドラインから試してみます...

mvn --batch-mode -P release,nexus -Dtag=rm2.0.3.4 -Dproject.rel.groupIdXYZ:artifactIdXYZ=2.0.3.4 -Dproject.dev.groupIdXYZ:artifactIdXYZ=2.0.3.4-SNAPSHOT -Ddependency.groupIdABC:artifactIdABC.development=2.0.3.4-SNAPSHOT -Ddependency.groupIdABC:artifactIdABC.release=2.0.3.4 -DreleaseVersion=2.0.3.4 -DdevelopmentVersion=2.0.3.4-SNAPSHOT -DdryRun=true release:prepare

そして得る

Can't release project due to non released dependencies :
groupIdABC:artifactIdABC:jar:classifierIdABC:2.0.3.3-SNAPSHOT:compile

分類子のアーティファクトがローカルの Maven リポジトリにあることを確認しました。分類子アーティファクトを次のように指定しようとしました

-Dproject.rel.groupIdABC:artifactIdABC:jar:classifierIdABC=2.0.3.4

それでも同じエラー。

コマンドラインからこれを実行できることへのポインタは高く評価されます。

4

2 に答える 2

0

maven-release-plugin では、すべての依存関係のバージョンが非スナップショットである必要があります...明らかな理由から。最終リリースでなければなりません。

依存関係に SNAPSHOT 以外のバージョンが利用可能であることがわかっている場合 (以前にリリースした場合)、versions-maven-plugin を使用して pom.xml を自動的に更新できます。

mvn versions:use-latest-versions -DallowSnapshots=false -Dincludes=com.my.*

そして、リリースプラグインがpom.xmlへのコミットされていない変更について不平を言うのを防ぐために...

 mvn release:prepare ... -DcheckModificationExcludeList=pom.xml
于 2015-02-11T22:56:28.863 に答える
0

allowTimestampedSnapshotsプロパティを に設定するとどうなりますtrueか? それでもエラーがスローされますか?

于 2014-01-30T10:48:32.820 に答える