当前位置: 首页 > news >正文

Spring Boot 打包分为 war 格式,放到Tomcat下报错的解决方案

Spring Boot 打包分为 war 格式需要在pom.xml文件中设置

<packaging>war</packaging>

这个时候运行 mvn package 就会生成 war 包,然后放到 Tomcat 当中就能启动,但是我们单纯这样配置在 Tomcat 是不能成功运行的,会报错,需要通过编码指定 Tomcat 容器启动,修改启动类 DemoApplication 类

import org.springframework.boot.SpringApplication;
	import org.springframework.boot.autoconfigure.SpringBootApplication;
	import org.springframework.boot.builder.SpringApplicationBuilder;
	import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
	@SpringBootApplication
	public class DemoApplication extends SpringBootServletInitializer {  
		public static void main(String[] args) {    
			SpringApplication.run(DemoApplication.class, args);  
			}  
		@Override  
		protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {  
			return application.sources(DemoApplication.class);   
		}
	}

这时再打包放到 Tomcat,启动就不会报错了。

在上述代码中,DemoApplication 类继承了 SpringBootServletInitializer,并重写 configure 方法,目的是告诉外部 Tomcat,启动时执行该方法,然后在该方法体内指定应用程序入口为 DemoApplication 类,如果通过外部 Tomcat 启动 Spring Boot 应用,则其配置文件设置的端口和 contextPath 是无效的。这时,应用程序的启动端口即是 Tomcat 的启动端口,contextPath 和 war 包的文件名相同。
 

相关文章:

  • 窗体的事件
  • PostgreSQL序列的创建和使用
  • PostgreSQL的数据备份与恢复(windows版本)
  • 表单提交相关
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • https网站跳转到http网站时,referrer获取不到的问题
  • Centos 6.5 使用命令ssh localhost一直需要密码的问题
  • 练习:WinForm 登录界面
  • Linux更换jdk版本,java -version还是原来的版本问题
  • zookeeper启动报错:-bash: zkServer.sh: command not found命令未找到
  • 算法笔记 --- 最短子数组
  • hadoop job 日志的查看
  • Jersey采用模板Freemarker输出
  • hadoop连接hdfs报错Call From master/172.27.0.5 to master:8020 failed on connection exception: 问题的解决
  • Linux命令手册
  • ERLANG 网工修炼笔记 ---- UDP
  • git 常用命令
  • github指令
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Nacos系列:Nacos的Java SDK使用
  • Python学习之路13-记分
  • v-if和v-for连用出现的问题
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 产品三维模型在线预览
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 数据可视化之下发图实践
  • ​什么是bug?bug的源头在哪里?
  • # include “ “ 和 # include < >两者的区别
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #git 撤消对文件的更改
  • $.ajax()参数及用法
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (一)基于IDEA的JAVA基础10
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • .bat文件调用java类的main方法
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • .Net转前端开发-启航篇,如何定制博客园主题
  • @TableLogic注解说明,以及对增删改查的影响
  • [BZOJ4337][BJOI2015]树的同构(树的最小表示法)
  • [hdu 2826] The troubles of lmy [简单计算几何 - 相似]
  • [HDU]2161Primes
  • [IOI2007 D1T1]Miners 矿工配餐
  • [iOS]随机生成UUID通用唯一识别码