アプリケーションを構築してから、MANIFEST.MF ファイルにいくつかのカスタム キーをマージしています。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.5</version>
<configuration>
<archive>
<manifestEntries>
<Build-Time>${maven.build.timestamp}</Build-Time>
<Build-Revision>${buildNumber}</Build-Revision>
</manifestEntries>
</archive>
</configuration>
</plugin>
私は 2 つのプロファイルを持っています。プロダクション プロファイルは次のリソース構成を使用します。
<resources>
<resource>
<!-- "all" is used for all profiles, "development" and "production" -->
<directory>src/main/resources/all</directory>
</resource>
<resource>
<!-- "prod" is just used for "production" -->
<directory>src/main/resources/prod</directory>
</resource>
</resources>
デフォルトの MANIFEST.MF は にありsrc/main/resources/all/META-INF/MANIFEST.MF
、これをベースとして使用する必要があります。
私は何を期待していますか?
MANIFEST.MF はmyproject.war/WEB-INF/classes/META-INF/MANIFEST.MF
、提供された値に従って更新された「Build-Time」と「Build-Revision」で利用できると期待しています。次に、実行時に MANIFEST.MF ファイルにアクセスして、「Build-Revision」キーを取得し、キャッシュを処理できるようになります。
代わりに何が起こりますか?
myproject.war/META-INF/MANIFEST.MF
代わりに、値が更新された MANIFEST.MF が内部で作成され、WEB-INF
キーが更新されていない MANIFEST.MF のコピーがその場所に存在します。
WEB-INF/classes/META-INF/MANIFEST.MF が maven-war-plugin で更新されないのはなぜですか?