【问题标题】:Why keys are not merged with "WEB-INF/classes/META-INF/MANIFEST.MF" using maven-war-plugin?为什么键不使用 maven-war-plugin 与“WEB-INF/classes/META-INF/MANIFEST.MF”合并?
【发布时间】: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


    【解决方案1】:

    (我想通了,是我不知道maven如何处理src/main/resources和manifest文件)

    Maven 在META-INF/ 中创建一个适当的MANIFEST.MF 文件并将其用作清单的默认约定路径,无需在src/main/resources 文件夹中创建另一个,默认应在根目录中。

    如果您从 src/main/resources 中删除 MANIFEST(将被复制到 WEB-INF/classes/META-INF/MANIFEST.MF),您将只有一个并且可以使用以下应用程序访问 META-INF/MANIFEST.MF

    request.getServletContext().getResourceAsStream( "/META-INF/MANIFEST.MF" );
    

    【讨论】:

      猜你喜欢
      • 2011-06-11
      • 2013-06-20
      • 2011-05-19
      • 1970-01-01
      • 2015-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多