Maven war插件将src / main / webapp复制到类中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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-INF
和WEB-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>
希望这有帮助
以上是关于Maven war插件将src / main / webapp复制到类中的主要内容,如果未能解决你的问题,请参考以下文章
请问maven工程jar包,war包,pom打包,都是怎么定的?
???war???????????????src/main/java??????xml??????????????????