相逢意气为君饮,系马高楼垂柳边。这篇文章主要讲述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-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>
希望这有帮助
推荐阅读
- 当尝试连接到蓝牙android时,应用程序崩溃
- 将eclipse项目迁移到android studio会显示安装错误
- “无法为Android模拟器创建上下文0x3005”
- 解决错误:: revoked permission android.permission.CALL_PHONE
- 如何使用buildship for android()
- Android(从网格视图中获取价值)
- 在android中夸大类android.support.design.widget.CollapsingToolbarLayout的错误
- 在Android中的旋转木马
- 我如何使Figma API与Google App脚本API一起使用()