Maven war插件将src / main / webapp复制到类中

相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述Maven war插件将src / main / webapp复制到类中相关的知识,希望能为你提供帮助。
【Maven war插件将src / main / webapp复制到类中】亲爱的stackoverflow成员,我面临着Maven war插件的一个奇怪问题。
我把我的eclipse项目目录结构作为:

Project |-- pom.xml -- src -- main |-- java -- resources -- webapp |-- WEB-INF -- web.xml

当我运行maven build命令时,webapp目录中的所有文件都被复制到classes文件夹中,这对我来说很奇怪。生成war文件中的结果目录结构是:
|-- META-INF -- WEB-INF -- classes -- -- META-INF -- WEB-INF

我没想到classes文件夹中的META-INF和WEB-INF文件夹。它复制了类文件夹不需要的数据,这些文件夹已经存在于war文件的根目录下。
请告诉我如何限制maven war builder将META-INF和WEB-INF排除在类文件夹中?
答案我也有这个问题。它是通过将maven-war-plugin配置添加到我的pom并包含一个< packagingExcludes> 元素来解决的:
< plugins> < plugin> < groupId> org.apache.maven.plugins< /groupId> < artifactId> maven-war-plugin< /artifactId> < version> 2.1.1< /version> < configuration> < packagingExcludes> **/webapp< /packagingExcludes> ... < /configuration> < /plugin> < /plugin>

如在OP的情况下,这排除了将${basedir}/src/main/webapp(包括META-INFWEB-INF)的内容复制到target/classes/main/webapp并随后复制到target/${finalName}/WEB-INF
实际上,maven然后按照需要行事,将${basedir}/src/main/webapp的内容仅放入target/${finalName},然后放入${finalName}.war
另一答案那也发生在我身上。您可能将路径/ src / main / webapp作为资源
< project> ... < build> ... < resources> ... < resource> < directory> src/main/webapp< /directory> < /resource> < /resources> < /build> < /project>

这就是为什么你在WEB-INF / classes /中得到所有内容的原因。解决方案是排除内容:
< resource> < directory> src/main/webapp< /directory> < excludes> < exclude> **/*< /exclude> < /excludes> < /resource>

希望这有帮助

    推荐阅读