Spring boot 打包为war包报错:提示缺少web.xm
2018-07-06 本文已影响0人
步闲
一. 异常
在开发SpringBoot多模块项目中,打包时报错了,如下:
Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project xhbase-rest:
Error assembling WAR:
webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
二. 项目目录结构如下:
其中SpringBootApplication启动类在rest模块,rest 模块依赖于 sdk 模块,sdk 模块依赖于 core 模块,core 模块依赖于common模块。构建单模块项目和多模块项目打jar包时都不会报错。
三. 原因
maven 插件 maven-war-plugin 中 Servlet 版本太低,要求必须要有web.xml文件才行。
四. 解决办法:
要么,添加插件配置项,如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
要么,修改其默认版本,如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.2.0</version>
</plugin>