springboot如何使用外部tomcat容器
一般情况spring-boot-starter-web是自带tomcat(即springboot内嵌tomcat),所以打包直接生成jar包,用java -jar命令就可以启动。
但,有时我们希望用war格式的包,而不是jar格式的包。这就需要以下几步改造:
1.将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法
1 @SpringBootApplication 2 public class Application extends SpringBootServletInitializer { 3 4 @Override 5 protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 6 return application.sources(Application.class); 7 } 8 9 public static void main(String[] args) throws Exception { 10 SpringApplication.run(Application.class, args); 11 } 12 }
2.在pom.xml文件中,project下面增加package标签
<packaging>war</packaging>
3.还是在pom.xml文件中,dependencies下面添加
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope>
</dependency>
注:<scope>provided</scope>表示在编译和测试时使用(不加它,打的包中会指定tomcat,用tomcat部署时会因tomcat版本报错;而加上它,打包时不会把内置的tomcat打进去)
还要注意:spring-boot项目使用的jdk版本要和tomcat的jdk版本一致(都是1.8);tomcat的lib中el-api.jar版本最好要是javax.el-api-3.0.0.jar版本,防止低版本冲突。
只需要以上3步就可以打包成war包,并且部署到tomcat中了。需要注意的是这样部署的request url需要在端口后加上项目的名字才能正常访问。
spring-boot更加强大的一点就是:即便项目是以上配置,依然可以用内嵌的tomcat来调试,启动命令和以前没变
转载于:https://www.cnblogs.com/wzk-0000/p/9505265.html
springboot如何使用外部tomcat容器相关推荐
- idea部署springboot项目到外部tomcat
[README] 本文旨在记录idea部署springboot项目到外部tomcat的步骤: 第一次部署会踩很多坑儿,多查google,多重试: 第一次部署,不建议手动录入依赖,因为有可能遗漏:而且网 ...
- springboot项目在外部tomcat运行出现的问题
1.去除自带的tomcat服务 <dependency><groupId>org.springframework.boot</groupId><artifac ...
- SpringBoot应用部署于外置Tomcat容器
来源:https://my.oschina.net/hansonwang99/blog/1824245 概述 SpringBoot平时我们用的爽歪歪,爽到它自己连Tomcat都自集成了,我们可以直接编 ...
- springboot容器化打包部署_SpringBoot应用部署于外置Tomcat容器的方法
0x01. 概述 SpringBoot平时我们用的爽歪歪,爽到它自己连Tomcat都自集成了,我们可以直接编写SBT启动类,然后一键开启内置的Tomcat容器服务,确实是很好上手.但考虑到实际的情形中 ...
- SpringBoot配置外部Tomcat项目启动流程源码分析(下)
前言 SpringBoot应用默认以Jar包方式并且使用内置Servlet容器(默认Tomcat),该种方式虽然简单但是默认不支持JSP并且优化容器比较复杂.故而我们可以使用习惯的外置Tomcat方式 ...
- 深入分析SpringBoot源码如何内嵌Tomcat容器?
作者:陌北有棵树,Java人,架构师社区合伙人! [一]总述 SpringBoot的诞生,极大的简化了Spring框架的使用过程,提升了开发效率,可以把它理解为一个整合包,使用了SpringBoot, ...
- SpringBoot webmvc项目导出war包并在外部tomcat运行产生的诸多问题以及解决方案
背景: 有需求要将原来的Spring(3.2.6) + Springmvc + Hibernate项目重构为Springboot(1.5.2)项目 描述: 记录重构过程,以及期间遇到的种种问题和对应的 ...
- SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器
转载自 https://www.cnblogs.com/fanshuyao/p/8668059.html SpringBoot切换Tomcat容器, SpringBoot修改为Jetty容器, Spr ...
- SpringBoot配置外部tomcat启动时发生Caused by: java.nio.charset.MalformedInputException: Input length = 1错误
错误来源 最近在编写springboot项目,需要配置外部tomcat.然而在配置好后启动测试时总是出现 org.yaml.snakeyaml.error.YAMLException: java.ni ...
最新文章
- 关于何种情况下使用DataGrid、DataList或Repeater的一些讨论
- 数据库备份定期删除程序的开发。
- Spark集群搭建【Spark+Hadoop+Scala+Zookeeper】
- Swift:print()vs println()vs NSLog()
- linux常用shell命令面试,shell经典笔试题目总结
- 团队冲刺站立会议07
- 数据结构探险系列—栈篇-学习笔记
- 5-2利用MapReduce进行数据排序
- Bootstrap HTML编码语法规范
- python reduce求和_Tensorflow 的reduce_sum()函数到底是什么意思,谁能解释下?
- 面向对象及软件工程——团队作业3
- Python-1-基础
- pandas.DataFrame及xgboost代码示例
- wpsmac历史版本_wps for mac 官方版
- iOS使用得图SDK开发VR播放器
- 全国计算机等级考试3月份报名时间,2021年3月全国计算机等级考试报名时间公布...
- 部署AdminLTE
- noteexpress选择网页作为题录的使用方法
- 关于wintc编译成功,输出黑框中无结果显示
- Unhandled exception in al.exe(KERNELBASE.DLL):0xE06D7363:Microsoft C++Exception
热门文章
- 字节大牛教你手撕Java学习,大厂直通车!
- linux 查看各个cpu使用率
- mendeley 笔记_免费文献管理器 Mendeley,其实比你想象的好用!
- 计算机开机和关机的音乐,电脑开关机音乐设置
- java中的传参是什么意思_如果作为参数传递,“字符串…参数”是什么意思?...
- oracle往游标中存数据,Oracle数据库:ORACLE11G在存储过程里面遍历游标
- 添加七牛云存储_七牛云存储如何正确设置流量带宽告警配置(阈值告警)?
- everything搭配什么软件_重磅推荐一款神级工具软件!有了它,90%的软件都可以卸载了!...
- vue中if和for指令不能同时使用
- springmvc网页找不到404_eclipse新建WebProject访问主页404错误的解决