在 Maven 战争覆盖期间覆盖资源

发布于 2024-12-07 05:37:27 字数 359 浏览 3 评论 0原文

据我所知,maven-war-plugin 永远不会覆盖覆盖目标中已存在的文件。例如,如果我有一个 war A,它依赖于 war B,两者都包含位于 src/main/resources/some.xml 的某些资源,生成的 A.war 将包含来自 some.xml >一个项目。

如何指示 maven-war-plugin 优先使用依赖项 (B) 中的资源而不是原始资源 (A)?

As I've gathered, maven-war-plugin never overwrites files which already exist in the target of an overlay. For example, if I have a war A which has a dependency on a war B, both of which contain some resource located at src/main/resources/some.xml, the resulting A.war will contain the some.xml from the A project.

How do I instruct the maven-war-plugin to favor the resources from the dependency (B) over the original ones (A)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

海风掠过北极光 2024-12-14 05:37:27

请参阅 http://maven.apache.org/plugins/maven-war-插件/overlays.html

“例如,如果覆盖my-webapp的index.jsp文件必须在web应用程序中设置,但其他文件可以通过常规方式控制,则定义两个my-webapp 的覆盖配置”

    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
      <overlays>
        <overlay>
          <id>my-webapp-index.jsp</id>
          <groupId>com.example.projects</groupId>
          <artifactId>my-webapp</artifactId>
          <includes>
            <include>index.jsp</include>
          </includes>
        </overlay>
        <overlay>
          <!-- empty groupId/artifactId represents the current build -->
        </overlay>
         ...
      </overlays>
    </configuration>

我猜这不是最终决定,而是一个起点。

See http://maven.apache.org/plugins/maven-war-plugin/overlays.html:

"For instance if the index.jsp file of the overlay my-webapp must be set in the webapp but other files can be controlled the regular way, define two overlay configurations for my-webapp"

    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.3</version>
    <configuration>
      <overlays>
        <overlay>
          <id>my-webapp-index.jsp</id>
          <groupId>com.example.projects</groupId>
          <artifactId>my-webapp</artifactId>
          <includes>
            <include>index.jsp</include>
          </includes>
        </overlay>
        <overlay>
          <!-- empty groupId/artifactId represents the current build -->
        </overlay>
         ...
      </overlays>
    </configuration>

Guess that's not the final desicion, but a point to start at.

你是年少的欢喜 2024-12-14 05:37:27

您可以使用 maven-resources 插件将文件复制到所需位置。战争爆发之前或之后。

You can use maven-resources plugin to copy a file to the desired location. Before or after a war has been built.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文