0

走った

プロジェクトの mvn release:prepare であり、マルチモジュール ビルドです。

次の質問に「はい」と入力しました。

There are still some remaining snapshot dependencies.: Do you want to
resolve them now? (yes/no) no: : yes
Dependency type to resolve,: specify the selection number ( 0:All 1:Project Dependencies 2:Plugins 3:Reports 4:Extensions ): (0/1/2/3) 1: :0
Resolve All Snapshots.: 'com.test:core-api' set to release? (yes/no) yes: : yes
What is the next development version? (0.0.6-SNAPSHOT) 0.0.6-SNAPSHOT: : 1.2.0-SNAPSHOT

そして、終わりのないサイクルで次のことを私に尋ね続けます。

次の開発バージョンは何ですか?

ループを終了するには Ctrl+C が必要です。

4

2 に答える 2

1

groupIdマルチモジュール ビルドでをリファクタリングしたときに、この同じ問題に遭遇しました。

原因はまさにエラー メッセージに示されているとおりですが、スナップショットの依存関係を特定するのは難しい場合があります。

私の場合、サブモジュールのスタンザのトップレベルgroupIdgroupIds<parent>はすべて正しかったのですが、ツリー内の一部のモジュールは他のモジュールと相互に依存しているため、<dependencies>または<dependencyManagement>スタンザに含まれています。

これらの依存関係は、プロジェクトのバージョンに関連付けられている${project.version}ため、「SNAPSHOT」のテキスト検索では簡単に見逃されます。これらの依存関係の sをリファクタリングするのを忘れたのでgroupId、maven はそれをプロジェクト自体の外部にある「外部」スナップショットの依存関係と見なします。

于 2013-10-17T11:28:53.970 に答える
0

過去の経験から、これは終わりのないサイクルではありませんが、膨大な量のスナップショットの依存関係を確認する必要があります(したがって、無限ループであるという印象を受けます)。これは通常、Mavenアグリゲーション(マルチモジュール)プロジェクトで発生します。

常にデフォルトの回答を受け入れることがわかっている場合は、バッチモードで実行してみてください

mvn --batch-mode release:prepare

リリースプラグインのデフォルトの動作は、スナップショットの依存関係を検出するたびに確認を求めることです。Mavenの一般的な方法に従う場合は、プロジェクトをリリースする前に、まずスナップショットの依存関係を解放し、依存関係への参照を更新してください。

http://maven.apache.org/maven-release/maven-release-plugin/examples/non-interactive-release.htmlには、非対話型リリースの実行に関する適切な情報があります。

于 2013-03-13T03:35:34.233 に答える