我试过 从我的战争文件中排除整个目录($ {基础}/src/main/webapp/webscripts),但失败了。怎么了?

这行不通:

<configuration>
   <webResources>
      <resource>
       <directory>${basedir}/src/main/webapp/webscripts</directory>
       <excludes>
        <exclude>**/*.*</exclude>
       </excludes>
      </resource>
   </webResources>
</configuration>

这个也是:

<configuration>
   <webResources>
      <resource>
       <directory>${basedir}/src/main/webapp</directory>
       <excludes>
        <exclude>**/webscripts</exclude>
       </excludes>
      </resource>
   </webResources>
</configuration>

有人可以帮忙吗?

有帮助吗?

解决方案

您的两个解决方案都无济于事,因为它们会添加一个额外的资源,然后停用。 WebApp源文件夹默认情况下复制,没有资源机制。

停用部分的机制是通过 <warSourceExcludes> 参数,这样:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1</version>
    <configuration>
        <warSourceExcludes>webscripts/**</warSourceExcludes>
    </configuration>
</plugin>

其他提示

Warsourceexcludes 似乎并没有重命名 包装量表.

Warsourceexcludes: :逗号分开的令牌列表在复制Warsourcedirectory的内容时要排除。

包装量表: :逗号分开的令牌清单要在包装前排除在战争之外。此选项可用于实施瘦战用例。

有很大的区别: 包装量表, ,令牌完全排除在最终战争档案中。和 Warsourceexcludes, ,将战争目录复制到战争文件中时,令牌只是被忽略。结果,如果令牌存在于 WebAppDirectory 例如,使用时不会忽略它们 Warsourceexcludes 但会在使用时 包装量表.

和一个工作语法示例:

<warSourceExcludes>**/${project.artifactId}/**</warSourceExcludes>

在2.1-Alpha-1版本中,这被错误地命名为Warsourceexcludes。正确的参数是 包装量表

用法的示例(不包括WAR中的Web-Inf/ Stat/ statics/文件夹):

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
    <configuration>
        <warName>searchservice-web</warName>
        <packagingExcludes>WEB-INF/statics/</packagingExcludes>
    </configuration>
</plugin>

Project Structure

在删除源文件的情况下,我在maven中使用了以下配置

 <plugin>
    <artifactId>maven-war-plugin</artifactId>
    <version>3.2.0</version>
    <configuration>
      <packagingExcludes>
        eb-app/app/**,eb-app/node_modules/**,eb-app/public/**,eb-app/server/**,eb-app/tests/**,eb-app/tmp/**,eb-app/vendor/**,eb-app/*
      </packagingExcludes>
    </configuration>
  </plugin>

有一个场景,我不得不排除两个文件夹,可以匹配 *scripts 他们在资源文件夹中。第一个混乱是是否提供排除价值为 src/main/resources/*scripts 或AS WEB-INF/classes/*scripts, ,即预汇编结构。

提供很重要 /** 要使整个目录被排除在战争文件之外。就我而 *scripts/**.

这是有效的最终配置:

    <packagingExcludes>WEB-INF/classes/*scripts/**</packagingExcludes>
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top