springboot 默认是通常是打包成jar的,里面会内置一个tomcat容器

有时候我们需要使用以前打成war包的方式部署到对应的tomcat中,

具体springboot 怎么从jar改成war的打包方式我就不细说了,百度一大把

  • 基本就是pom加一个spring-boot-starter-tomcat 的dependency scope为provided
  • packaging由jar改为war
  • 增加一个类 继承 SpringBootServletInitializer 复写configure 返回application.sources(原先主函数那个类.class);
  1. public class MyApplication extends SpringBootServletInitializer {
  2. @Override
  3. protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
  4. return builder.sources(MyApplication.class);
  5. }
  6. public static void main(String[] args) {

  7. SpringApplication.run(MyApplication.class, args);

  8. }

  9. }

clean package -Dmaven.test.skip=true 打包后,放到tomcat6 7 8各种报错

很可能出问题的原因是springboot内置tomcat的版本和你实际部署到的tomcat不一致,放到正确的对应版本的tomcat下就解决了

查看springboot 内置tomcat版本的方法

参考 https://www.jb51.net/article/122547.htm

查看pom

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>1.5.6.RELEASE</version>
  5. </parent>
    • 1
    • 2
    • 3
    • 4
    • 5

这块配置就是Spring Boot父级依赖,有了这个,当前的项目就是Spring Boot项目了,

spring-boot-starter-parent是一个特殊的starter,它用来提供相关的Maven默认依赖,

使用它之后,常用的包依赖可以省去version标签。关于Spring Boot提供了哪些jar包的依赖,

可查看C:\Users\用户.m2\repository\org\springframework\boot\spring-boot-dependencies\1.5.1.RELEASE\spring-boot-dependencies-1.5.1.RELEASE.pom

打开这个pom文件,搜索“tomcat.version” 会找到对应tomcat版本

ps:tomcat 8.0 和tomcat 8.5 还是有区别的 ,本来我一直用8.0.x的版本 ,但是现在springboot的内置版本却是8.5.x的 ,放到8.0是报错的,必须8.5才行……

ps2: war包部署到tomcat的项目访问要加上项目名

转: https://blog.csdn.net/opopopwqwqwq/article/details/82260658

springboot 的war包在Tomcat中启动失败的更多相关文章

  1. spring boot + jersey工程由jar包转为war包在tomcat中启动报错问题

    第一步: 在maven下,将Spring Boot工程由jar转换为war包启动,很简单,将pom.xml文件中的packaging改为war <packaging>war</pac ...

  2. Springboot解决war包放到Tomcat服务器上404的特殊情况

    Springboot解决war包放到Tomcat服务器上404的特殊情况 原文链接:https://www.cnblogs.com/blog5277/p/9330577.html 原文作者:博客园-- ...

  3. springboot打war包部署tomcat服务器,以及表单提交数据乱码处理

    小白觉得springboot打成jar包直接使用内嵌的tomcat或jetty容器(java -jar xxx.jar)运行项目不利于定位问题,我还是习惯于查看tomcat或nginx的日志来定位问题 ...

  4. shell 脚本解压war包+备份+tomcat自动关闭+启动

    公司的开发环境每次替换war包时候,老是需要重新上传并且手动解压,然后再去重启tomcat.觉得这样子太麻烦了,于是写了一个shell脚本,自动解压+备份+tomcat自动关闭+启动.代码如下: #关 ...

  5. 当 springboot 部署war包,tomcat报一堆无法解决的问题时

    直接打包 jar即可,这样就可以解决这些问题了.

  6. springboot打war包后部署到tomcat后访问返回404错误

    springboot打war包后部署到tomcat后访问返回404错误 1.正常情况下,修改打包方式为war <packaging>war</packaging> 2.启动类继 ...

  7. tomcat运行springboot项目war包

    以最简单的spring boot demo项目来演示如何发布项目war包到tomcat,并成功运行(有很多小伙伴会出现404错误) 一.准备一个最简单的demo项目 在IDEA中新建一个项目,一直ne ...

  8. springboot 学习之路 5(打成war包部署tomcat)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  9. 踩坑--springboot打war包

    springboot需要jdk1.8+tomcat8.0 第一步:从IDEA中通过maven install将项目打成war包 第二步:将war包放在tomcat的webApp目录下,启动tomcat ...

随机推荐

  1. "她等待刀尖已经太久"--茨维塔耶娃诗抄

      生活   1 你无法夺走我的红晕—— 它强大——如同河水的汛潮! 你是猎人,可我不会上当, 你若追逐,我就会逃跑.   你无法夺走我鲜活的灵魂! 就这样,在急遽的追逐中—— 一匹阿拉伯的骏马, 微 ...

  2. fly.js抛物线连续不断加入购物车

    http://yanshi.sucaihuo.com/jquery/2/298/demo/

  3. vim 插件 -- omnicppcomplete

    omnicppcomplete 插件是基于ctags来实现补全的.所以,要先安装好ctags才可以使用. 下载 https://www.vim.org/scripts/script.php?scrip ...

  4. babel,webpack-dev-server配置

    github仓库:https://github.com/llcMite/webpack.git 1.什么是webpack? webpack可以看做是模块打包机:它做的事情是,将静态资源当成模块打包成一 ...

  5. fastTime从后台传过来显示格式的处理

    1.可以在控制台用syso查看 QuestionFeedbackView qfv = on_LineManageService.getBringupHead(projectNo);//qfv是一个内含 ...

  6. 拉格朗日乘子法&KKT条件

    朗日乘子法(Lagrange Multiplier)和KKT(Karush-Kuhn-Tucker)条件是求解约束优化问题的重要方法,在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件.前 ...

  7. Shell脚本的学习笔记二:字符串

    菜鸟教程提供的Shell在线编辑器 Shell 字符串 项目 功能 单引号 原样输出,变量无效.但可用成对单引号嵌套成对单引号输出变量 双引号 定义字符串中附带有变量的命令并且想将其解析后再输出的变量 ...

  8. poi读取word的内容

    pache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1.读取word 2003及word 2007需要的 ...

  9. jupyter notebook中使用mpld3进行交互

    用pycharm进行远程服务器debug可以说是非常的爽了,但是设置远程的图片在本地显示会非常的麻烦 jupyter可以用%matplotlib inline 来远程plt.show图片,但是有一个问 ...

  10. des加密破解

    在爬取某些网站时, 登录等重要操作的返回结果是des加密后的. 如何破解 1, Python 语言采用 pyDes 作为 DES 加解密处理的包. 2,通过请求 http://tool.chacuo. ...