SpringBoot2.6在打包时出现报错:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:2.2:war (default-war) on project hrbp: Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml if executing in update mode) -> [Help 1]
从问题描述中不难看出错误原因,就是缺少web.xml。但是大家都知道,SpringBoot项目是不需要这个文件的,那又是为什么呢。原因是容器中servlet版本太低,必须要web.xml文件。
解决办法:
- servlet容器 < 3, 确保web.xml文件存在
- servlet容器 >=3, 且没有web.xml Web应用程序, 需要声明以下maven-war-plugin插件,并将failOnMissingWebXml选项设置为false。
pom.xml
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
就这么简单。
参考文档的评论中有大佬提出了更简单的解决方法,奈何本人无知,不知道如何配置,如有大牛知道,还望评论指导。