私は次のpom.xmlを持っています
<project>
<properties>
<buildNumber>dev</buildNumber>
</properties>
<build>
<finalName>${project.artifactId}-${project.version}-${buildNumber}</finalName>
</build>
</project>
これは開発マシンで正常に機能します。実行するmvn package
と、project-1.1-dev.war
アーティファクトが発生します。私が走れば私mvn package -DbuildNumber=121
は持っていpackage-1.1-121.war
ます。
project-1.1-dev.war
しかし、プロパティがmavenに渡されたにもかかわらず、CIサーバー(TeamCity)は常に取得buildNumber
しました(デフォルトのプロパティ定義をから削除するとpom.xml
、mavenは正しいファイル名でアーティファクトをビルドします)。
システムプロパティの解決の優先順位は、どういうわけかプラットフォームに依存しているようです(Mavenバージョンは開発者のマシンとTCの両方で等しい-2.2.1)?