【发布时间】:2015-02-08 22:48:57
【问题描述】:
我正在构建一个应用程序,然后在 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”键并处理缓存内容。
会发生什么?
相反,MANIFEST.MF 是在 myproject.war/META-INF/MANIFEST.MF 内创建并更新了值,而在 WEB-INF 位置只有一个 MANIFEST.MF 的副本,没有更新任何密钥。
为什么WEB-INF/classes/META-INF/MANIFEST.MF没有通过maven-war-plugin更新?
【问题讨论】:
标签: java maven jakarta-ee jboss maven-war-plugin