008-SpringBoot发布WAR启动报错:Error assembling WAR: webxml attribute is required
时间:2019-09-09
本文章向大家介绍008-SpringBoot发布WAR启动报错:Error assembling WAR: webxml attribute is required,主要包括008-SpringBoot发布WAR启动报错:Error assembling WAR: webxml attribute is required使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、Spring Boot发布war包流程:
1、修改web model的pom.xml
<packaging>war</packaging>
SpringBoot默认发布的都是jar,因此要修改默认的打包方式jar为war
2、修改web model的依赖(dependency)
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 移除嵌入式tomcat插件,或者scope = provided <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> --> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!--<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <scope>provided</scope> </dependency>-->
注意:
这里添加了起步依赖spring-boot-starter-web,因此,建议把起步依赖Spring-boot-starter-tomcat的scope设置为provided,原因很简单:我们的项目中可能会使用Filter等Servlet的api;
因此,不建议spring-boot-starter-web中移除嵌入式Spring-boot-starter-tomcat的起步依赖,因为这样就必须再单独添加servet-api的依赖
3、maven编译
启动时报错:Error assembling WAR: webxml attribute is required
很明显:webapp/WEB-INF下找不到web.xml
使用Spring开发,默认把所有的静态资源+界面view都放在resources下了,如下图:
因此,webapp都不复存在了,更何况/WEB-INF和/WEB-INF/web.xml
解决方案:
<!-- 没有web.xml文件的情况下构建WAR <plugin> <artifactId>maven-war-plugin</artifactId> <version>3.0.0</version> </plugin> --> <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.6</version> <configuration> <!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。--> <failOnMissingWebXml>false</failOnMissingWebXml> </configuration> </plugin>
1、使用maven-war-plugin3.0,解决了web.xml不存在无法构建war的问题
2、继续使用maven-war-plugin2.6,添加设置failOnMissingWebXml=false
原文地址:https://www.cnblogs.com/bjlhx/p/11491297.html
- LOJ#6277. 数列分块入门 1
- 【Ruby on Rails】Model中关于保存之前的原值和修改状态
- 一个很逗的东西——Jd
- SQL Server 数据库清除日志的方法
- 算法模板——平衡树Treap 2
- DTS,DTC, DTB你都认识吗?
- LOJ#6278. 数列分块入门 2
- 1901: Zju2112 Dynamic Rankings
- LOJ#6279. 数列分块入门 3
- 1984: 月下“毛景树”
- 3212: Pku3468 A Simple Problem with Integers
- 1036: [ZJOI2008]树的统计Count
- 2243: [SDOI2011]染色
- 3631: [JLOI2014]松鼠的新家
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Python数据科学:线性回归
- 人生苦短,我用k8s--------------单节点二进制部署
- 人生苦短,我用k8s--------------k8s集群二进制部署
- 从零开始学习 JD Chain(四)-使用穿透式检索-Release
- 用Python清除文件夹中的重复视频
- Python数据科学:线性回归诊断
- 用Python自动化生成倒计时图片
- (译)SDL编程入门(12)色彩调制
- (译)SDL编程入门(11)裁剪渲染和精灵表
- Python数据科学:正则化方法
- libVLC教程
- (译)SDL编程入门(10)Color Key
- Cocos2d-x初学者教程
- Python数据可视化:啥是佩奇
- 人物社交网络分析—平凡的世界