首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven-war-plugin复制覆盖目录到最终工件

maven-war-plugin复制覆盖目录到最终工件
EN

Stack Overflow用户
提问于 2017-04-20 21:10:38
回答 1查看 173关注 0票数 2

我们使用maven-3.3.9和maven- war插件来生成我的最后一次war。当修改静态文件时,我们遇到了问题,因为浏览器正在使用缓存的版本。

因此,在引用这些静态文件之后,我们决定不使用查询字符串版本属性。我们的选择是生成静态文件目录,覆盖添加和过滤外部Web资源文档中maven-war-plugin状态的方式,部分覆盖默认的目标目录

我们是这样做的:

代码语言:javascript
复制
<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <warSourceDirectory>src/main/webapp</warSourceDirectory>
        <webResources>
            <webResource>
                <directory>src/main/webapp/WEB-INF/resources</directory>
                <targetPath>WEB-INF/resources/${parsedVersion.majorVersion}${parsedVersion.minorVersion}${parsedVersion.incrementalVersion}${buildNumber}</targetPath>
                <filtering>true</filtering>
            </webResource>
        </webResources>
    </configuration>
</plugin>

我们还使用了另一个插件来解析项目版本和修改数字,但它们对这个问题并不重要。

问题是,静态文件目录的创建与我们预期的一样正确,但它的内容也是以常规方式创建的,就像我们没有使用webResources指令一样,因此我得到了我的资源内容dir两次。我用我想要的dir获得资源dir,第二个dir中的所有dir也都在资源dir中,作为它的sibbling。如何生成资源dir,就像它现在所做的那样,而不复制它的内容?

我的最后输出如下:

代码语言:javascript
复制
|--- resources
    |--- js
    |--- css
    |--- fonts
    |--- js
    |--- myoverridendir
        |--- js
        |--- css
        |--- fonts
        |--- js
EN

回答 1

Stack Overflow用户

发布于 2018-01-12 12:41:42

因为同一个文件夹来自两个资源目录

  1. 通过src/main/webapp (即warSourceDirectory )
  2. 它被指定为webResources中的资源。

因为您只想要一个副本,一个来自webResources,另一个来自src/main/webapp,需要被排除在外。它可以使用<warSourceExcludes>标记来完成。

例如,假设jssrc/main/webapp文件夹中的一个这样的文件夹。可以使用<warSourceExcludes>js/</warSourceExcludes>排除它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43529974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档