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