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文件夹。 它复制了classes文件夹不需要的数据,并且这些文件夹已经存在于war文件的根目录中。
请让我知道如何限制maven war builder将META-INF和WEB-INF排除到classes文件夹中?
我也有这个问题。 它是通过将它添加到我的pom并包含一个<packagingExcludes>元素来覆盖maven-war-plugin配置来解决的:
<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-INF和WEB-INF的内容复制到target/classes/main/webapp并随后到target/${finalName}/WEB-INF 。
实际上,maven然后按照需要行事,将${basedir}/src/main/webapp放入target/${finalName} ,然后放入${finalName}.war
