springboot 的war包在Tomcat中启动失败
springboot 默认是通常是打包成jar的,里面会内置一个tomcat容器
有时候我们需要使用以前打成war包的方式部署到对应的tomcat中,
具体springboot 怎么从jar改成war的打包方式我就不细说了,百度一大把
- 基本就是pom加一个spring-boot-starter-tomcat 的dependency scope为provided
- packaging由jar改为war
- 增加一个类 继承 SpringBootServletInitializer 复写configure 返回application.sources(原先主函数那个类.class);
public class MyApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
clean package -Dmaven.test.skip=true 打包后,放到tomcat6 7 8各种报错
很可能出问题的原因是springboot内置tomcat的版本和你实际部署到的tomcat不一致,放到正确的对应版本的tomcat下就解决了
查看springboot 内置tomcat版本的方法
参考 https://www.jb51.net/article/122547.htm
查看pom
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</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中启动失败的更多相关文章
- spring boot + jersey工程由jar包转为war包在tomcat中启动报错问题
第一步: 在maven下,将Spring Boot工程由jar转换为war包启动,很简单,将pom.xml文件中的packaging改为war <packaging>war</pac ...
- Springboot解决war包放到Tomcat服务器上404的特殊情况
Springboot解决war包放到Tomcat服务器上404的特殊情况 原文链接:https://www.cnblogs.com/blog5277/p/9330577.html 原文作者:博客园-- ...
- springboot打war包部署tomcat服务器,以及表单提交数据乱码处理
小白觉得springboot打成jar包直接使用内嵌的tomcat或jetty容器(java -jar xxx.jar)运行项目不利于定位问题,我还是习惯于查看tomcat或nginx的日志来定位问题 ...
- shell 脚本解压war包+备份+tomcat自动关闭+启动
公司的开发环境每次替换war包时候,老是需要重新上传并且手动解压,然后再去重启tomcat.觉得这样子太麻烦了,于是写了一个shell脚本,自动解压+备份+tomcat自动关闭+启动.代码如下: #关 ...
- 当 springboot 部署war包,tomcat报一堆无法解决的问题时
直接打包 jar即可,这样就可以解决这些问题了.
- springboot打war包后部署到tomcat后访问返回404错误
springboot打war包后部署到tomcat后访问返回404错误 1.正常情况下,修改打包方式为war <packaging>war</packaging> 2.启动类继 ...
- tomcat运行springboot项目war包
以最简单的spring boot demo项目来演示如何发布项目war包到tomcat,并成功运行(有很多小伙伴会出现404错误) 一.准备一个最简单的demo项目 在IDEA中新建一个项目,一直ne ...
- springboot 学习之路 5(打成war包部署tomcat)
目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...
- 踩坑--springboot打war包
springboot需要jdk1.8+tomcat8.0 第一步:从IDEA中通过maven install将项目打成war包 第二步:将war包放在tomcat的webApp目录下,启动tomcat ...
随机推荐
- CRM INBOX 结果增强功能
前段时间接到的需求:INBOX(ICCMP_INBOX)查询结果,多选后弹出选择用户的框,选择用户,带入到单据的PARTNER FUNC的工程师中,并修改单据状态. 其实标准的INBOX的Compon ...
- Java实现类似eval()函数或exec()函数的功能
一篇参考博客:http://www.cnblogs.com/fangwenyu/archive/2011/10/12/2209051.html 在Python中有一个exec()函数,同样在JavaS ...
- easyui 如何为标签动态追加属性实现渲染效果
简述一下在项目遇到的问题,这边有一个需求,选择不同类型,加载不同的div标签(其中属性是否必填是区分类型的关键) html界面是这样的 <div class="grid_1 lbl&q ...
- Java数组声明、初始化
维数组的声明方式:type var[]; 或type[] var; 声明数组时不能指定其长度(数组中元素的个数), Java中使用关键字new创建数组对象,格式为:数组名 = new 数组元素的类型 ...
- webApp总结
有关Meta 基本Meta <!-- 设置缩放 --> <meta name="viewport" content="width=device-widt ...
- select 取value值
<md-select ng-model="alarmSelect" style="margin: 0px 0px 0px 0px;" ng-change= ...
- Java log4j
<dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging& ...
- 项目中Java Resources有红叉,其它没有,解决办法
说起这个这个地方,我课改了好久 起初,我把原先项目的JDK版本改了,右击项目Build Path,然后换掉里面的JRE,没用, 然后右击项目,点击properties,找到在Project Facet ...
- 多线程callable使用方法
Runnable是执行工作的独立任务,但是它不返回任何值.在JavaSE5中引入的Callable是一种具有类型参数的泛型,它的类型参数表的是从方法call()中返回的值,并且必须使用Executor ...
- CSS设置全局字体
在样式表或者页面head加上这个就可以了.分别是字体,字号,颜色,行高,总之要什么就写什么. body,td,th {font-family: Verdana, Arial, Helvetica, s ...