亲爱的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排除在类文件夹中?
1 回答
我也有这个问题 . 它是通过将maven-war-plugin配置添加到我的pom并包含
<packagingExcludes>
元素来解决的:在OP的情况下,这排除了将
${basedir}/src/main/webapp
的内容(包括META-INF
和WEB-INF
)复制到target/classes/main/webapp
,然后复制到target/${finalName}/WEB-INF
.实际上,maven然后按照需要行事,只将
${basedir}/src/main/webapp
的内容放入target/${finalName}
并随后进入${finalName}.war