首页 文章

Maven - 从默认的src / main / resources位置将某些资源文件排除到WAR中

提问于
浏览
2

目前,我希望在打包时将一些文件从默认的src / main / resources文件夹中排除到我的WAR中

我尝试使用maven-war-plugin以下配置但失败了 .

<webResources>
  <resource>
    <directory>src/main/resources</directory>
    <targetPath>WEB-INF/classes</targetPath>
    <excludes>
      <exclude>*.xml</exclude>
    </excludes>
  </resource>
</webResources>

... WEB-INF / classes仍将包含XML文件 .

怎么办?

3 回答

  • 4

    正如在https://stackoverflow.com/a/2737635/722997中所指出的,从WAR包中排除文件的一种快捷方法是在 build->resources 部分中排除它们,例如:

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <excludes>
                    <exclude>*.xml</exclude>
                </excludes>
            </resource>
        </resources>
        ...
    </build>
    

    Note :考虑到以下配置只会影响Maven(WAR包,JAR包,...)的默认执行,但不会影响程序集或其他用户配置 .

  • 0

    从maven war插件的documentation中,您可以包含和排除资源,如下所示:

    ...
            <configuration>
              <webResources>
                <resource>
                  <!-- the default value is ** -->
                  <includes>
                    <include>**/pattern1</include>
                    <include>*pattern2</include>
                  <includes>
                  <!-- there's no default value for this -->
                  <excludes>
                    <exclude>*pattern3/pattern3</exclude>
                    <exclude>pattern4/pattern4</exclude>
                  </excludes>
                </resource>
              </webResources>
            </configuration>
            ...
    

    你是否遵循这一点,它仍然无法正常工作?如果是这样,你可以发布你的pom片段吗?

  • 0

    这个问题有点晚了,但我只是想做同样的事情,并且发现(使用maven-war-plugin 3.1.0版本),添加:

    <packagingExcludes>WEB-INF/classes/*.xml</packagingExcludes>
    

    配置应该做的事情要求(它对我来说删除了我们不想用war文件分发的属性文件) .

相关问题