Spring boot 打包为war包报错:提示缺少web.xml

一. 异常

在开发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文件才行。

四. 解决办法:

要么,添加插件配置项,如下:


    org.apache.maven.plugins
    maven-war-plugin
    2.6
    
        false
    

要么,修改其默认版本,如下:


    org.apache.maven.plugins
    maven-war-plugin
    3.2.0

五. 参考

1. https://my.oschina.net/yqz/blog/847452

你可能感兴趣的:(Spring boot 打包为war包报错:提示缺少web.xml)