在pom.xml中使用war排除

时间:2011-05-12 23:32:04

标签: java war pom.xml

maven文档必须是错误的。

以下是我尝试过的所有未能排除文件的排列:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <warSourceExcludes>**/*server.properties</warSourceExcludes>
    </configuration>
  </plugin>

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
      <webResources>
        <resource>
          <!-- this is relative to the pom.xml directory -->
          <directory>src/main/resources/com/mycom/myapplication/</directory>
          <!-- there's no default value for this -->
          <excludes>
            <exclude>**/*server.properties</exclude>
          </excludes>
        </resource>
      </webResources>
    </configuration>
  </plugin>

邮件列表条目建议使用此旧版本和字符串列表:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-war-plugin</artifactId>
    <version>2.0.1</version>
    <configuration>
      <webResources>
        <resource>
          <!-- this is relative to the pom.xml directory -->
          <directory>src/main/resources/com/pictage/provendirect/</directory>
          <!-- there's no default value for this -->
          <excludes>**/*server.properties</excludes>
        </resource>
      </webResources>
    </configuration>
  </plugin>

结果是:

(找到静态表达式:' / * server.properties',它可以作为默认值)。 原因:无法从' / * server.properties'中将配置条目'excludes'分配给'interface java.util.List',类型为java.lang.String

也尝试过:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.0.1</version>
    <configuration>
      <packagingExcludes>
        **/server.properties
      </packagingExcludes>
    </configuration>
  </plugin>

有什么想法吗?我为此疯狂。

1 个答案:

答案 0 :(得分:0)

仔细阅读maven文档表明:

<configuration>
  <webResources>
    <resource>
只应在排除/ src / main / resources之外的资源时使用

。要在此文件夹中执行此操作,如果该属性不在目录的根目录中,则需要使用warSourceExcludes和可能的warSourceDirectory参数。

当我需要花费数小时的时间来通过maven中的配置做一些事情时,我会在内部哭泣,因为它可以使用脚本语言在两秒钟内完成,但我想这是实现它的“正确”方法。