创建Maven项目pom.xml报WebappStructureSerializer类无法初始化如何解决?
Maven构建两类常见pom配置报错解决方案
报错1:无法初始化类org.apache.maven.plugin.war.util.WebappStructureSerializer
该报错核心原因为maven-war-plugin版本与本地Maven核心版本不兼容,通用修复方案如下:
- 在pom.xml的
<build>-><plugins>节点下手动指定兼容的插件版本:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <!-- 3.3.2版本兼容Maven 3.6.x及以上所有主流版本 --> <version>3.3.2</version> </plugin>
- 配置完成后刷新Maven项目,重新执行构建即可。
报错2:web.xml文件缺失,且<failOnMissingWebXml>参数被设置为true
该报错为maven-war-plugin默认开启web.xml存在校验触发,按需选择对应解决方案即可:
- 项目需使用web.xml:在
src/main/webapp/WEB-INF/路径下创建web.xml文件,写入符合Servlet版本规范的基础配置即可。 - 项目无需使用web.xml(如SpringBoot项目、无web资源的接口服务):在
maven-war-plugin配置中关闭校验,修改配置如下:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>3.3.2</version> <configuration> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin>
若两类报错同时出现,直接使用上述关闭web.xml校验的插件配置即可一次性解决两个问题。
内容的提问来源于stack exchange,提问作者asmi
相关产品推荐
相关产品推荐

