从maven生成的战争中排除WEB-INF

时间:2014-06-11 21:10:32

标签: 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>
        <warSourceExcludes>WEB-INF/**</warSourceExcludes>
    </configuration>
</plugin>

这也不起作用。

        <warSourceExcludes>WEB-INF</warSourceExcludes>

2 个答案:

答案 0 :(得分:0)

我倾向于说WEB-INF不是 source 目录的一部分,但被视为资源

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

https://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html

类似的东西:

        <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>

答案 1 :(得分:0)

由于它是一个只有.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>