我尝试this从我的WAR文件中排除整个目录($ / 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>
有人可以帮忙吗?
5 回答
您的两个解决方案都无济于事,因为它们会添加一个随后停用的其他资源 . 默认情况下会复制webapp源文件夹,而不使用资源机制 .
停用其中一部分的机制是通过<warSourceExcludes>参数,如下所示:
warSourceExcludes 似乎没有被重命名为 packagingExcludes .
有一个很大的区别:使用 packagingExcludes ,令牌完全被排除在最终的war文件之外 . 使用 warSourceExcludes 时,将war目录复制到war文件时会忽略标记 . 因此,如果令牌存在于 webappDirectory 中,则使用 warSourceExcludes 时将不会忽略它们,但使用 packagingExcludes 时将不会忽略它们 .
一个有效的语法示例:
在版本2.1-alpha-1中,这被错误地命名为warSourceExcludes . 正确的参数是packagingExcludes
用法示例(从WAR中排除WEB-INF / statics /文件夹):
为了删除我在maven中使用了以下配置的源文件
有一个场景,我必须排除两个文件夹,可以匹配
*scripts
,他们在资源文件夹中 . 第一个困惑是是否将排除值提供为src/main/resources/*scripts
或WEB-INF/classes/*scripts
,即编辑前结构或后编译结构 .提供
/**
以使整个目录从war文件中排除是非常重要的 . 就我而言,*scripts/**
.这是有效的最终配置: