从maven生成的war中排除WEB-INF

从maven生成的war中排除WEB-INF,maven,web-applications,war,web-inf,Maven,Web Applications,War,Web Inf,如何防止WEB-INF目录包含在.war包中 这是行不通的 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1</version> <configuration> <warSourceE

如何防止WEB-INF目录包含在.war包中

这是行不通的

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <warSourceExcludes>WEB-INF/**</warSourceExcludes>
    </configuration>
</plugin>
这也行不通

        <warSourceExcludes>WEB-INF</warSourceExcludes>

我倾向于说WEB-INF不是源目录的一部分,而是一种资源

因此,您应该尝试使用webResource属性:

比如:

        <configuration>
          <webResources>
            <resource>
              <!-- this is relative to the pom.xml directory -->
              <directory>resource2</directory>
              <!-- the list has a default value of ** -->
              <excludes>
                <exclude>WEB-INF</exclude>
              </excludes>
            </resource>
          </webResources>
        </configuration>

因为它是一个只有.js、.css和.HTML的静态HTML站点,所以我切换到只生成META-INF的rar包格式。然后我添加了以下内容:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.3</version>
        <configuration>
          <archive>
            <addMavenDescriptor>false</addMavenDescriptor>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
  ...
</project>