タイトルからわかるように、Maven 3の場合、pom.xmlで$versionがサポートされなくなったことを確認したいと思います。すべてのpom.xmlおよび関連する構成ファイルの各プロジェクトに毎回定数を何度も何度も書き込む必要がありますか?どうすればこれを回避できますか?$ versionのようなバージョン管理方法をどのように使用できますか?
3 に答える
この式${version}
は非推奨です。${project.version}
代わりに使用する必要がありますが、どちらも引き続きサポートされており、カスタムプロパティは必要ありません。
以下は、Maven3でうまく機能します。
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>services</artifactId>
<version>${project.version}</version>
<type>ejb</type>
</dependency>
また、Maven 3のモジュールのバージョンとしてproject.parent.versionを使用することに関する警告に対する以前の回答もご覧ください。使用方法version
(別の回答のコメントで見たものに基づく)はそうではありません。 IMHOとMaven3は、実際にはベストプラクティスに従うことを親切に提案しています。バージョンを継承するだけです。
トップ要素内のマクロ<version/>
と要素内のバージョンを使用すると<parent/>
、Maven 2では機能しませんでした。機能しているように見えましたが、下流で混乱を引き起こしただけでした。それがあなたが話していることではない場合は、あなたの質問を明確にしてください。
$(artifactId}
以下のエラーは、およびの非推奨を示しています${version}
[警告]式${artifactId}は非推奨になりました。代わりに${project.artifactId}を使用してください。[警告]式${version}は非推奨になりました。代わりに${project.version}を使用してください。[警告][警告]これらの問題はビルドの安定性を脅かすため、修正することを強くお勧めします。[警告][警告]このため、将来のMavenバージョンでは、このような不正な形式のプロジェクトのビルドがサポートされなくなる可能性があります。
警告メッセージはそれを詳しく説明しています。、および${artifactId}
に置き換えます${project.artifactId}
${version}
${project.version}