3

我正在使用 Maven 3 打包 WAR 文件,但我无法弄清楚如何src/main/webapp从生成的最终 WAR 中排除文件。其中一个目录src/main/webapp是 git 子模块,我想在该 git 子模块表单中排除 README、docs/ 等文件,以进入我的最终 WAR。

我最初的尝试是使用maven-antrun-plugin删除文件。prepare-package我尝试了and中的删除操作package,但都没有成功。执行删除package从 my 中删除了文件target/<projname>/...,但最终的 WAR 仍然包含这些文件。运行 maven with-debug显示生成 WAR 文件后文件被删除。就好像我想在 和 之间进行prepare-package删除package

我接下来的尝试是尝试指定要从 WAR 中排除的文件(下面链接的一些解决方案),但似乎没有任何效果。src/main/resources我可能没有正确指定不需要的文件的路径,我想知道这是否与我不需要的文件不在src/main/webapp.

我尝试了很多解决方案,但似乎没有任何效果。每次我尝试新mvn clean的东西时,我都会删除target目录。最终生成的 WAR 文件始终包含不需要的文件。

我觉得我的问题的答案存在于我遇到的 SO 和谷歌搜索中,但我尝试过的任何事情都没有完全符合我的需要。以下是我尝试过的一些解决方案。

4

1 回答 1

6

由于文件在webapp文件夹内,我猜这maven-war-plugin是最好的开始点。带有 excludes 的资源过滤指向src/main/resources并且不知道该webapp文件夹。

所以http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html

有一个参数::warSourceExcludeshttp: //maven.apache.org/plugins/maven-war-plugin/war-mojo.html#warSourceExcludes

这应该允许过滤自述文件等。

于 2012-07-30T16:12:40.827 回答