springboot打包成war,部署到tomcat无法访问的问题
Posted zeussbook
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot打包成war,部署到tomcat无法访问的问题相关的知识,希望对你有一定的参考价值。
如题:实在是太坑。平时本地测试觉得很方便,但是到了项目打包发布掉链子了。
如很多帖子一样:
首先springboot内嵌的tomcat,再依赖servlet-api,修改启动类继承SpringBootServletInitializer,打成war放入tomcat中
一、pom.xml删掉内嵌tomcat
`
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope><!-- 打成war的时候打开注释,本地开发用内嵌tomcat时加上注释 -->
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
二、启动类:Application
@SpringBootApplication @ComponentScan(basePackages = "com.yzker") public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
再打包发布,然而然并卵。
最后的解决方法是在idea重新配了个Tomcat server。本地调试,本地能跑起来。打成war包服务器也能跑起来,这才是真实的模拟环境。这也是springBoot的缺陷。
以上是关于springboot打包成war,部署到tomcat无法访问的问题的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot 在打包部署的时候打包成 jar 和 war 有什么不同?
SpringBoot 在打包部署的时候打包成 jar 和 war 有什么不同?
SpringBoot 部署打包成 jar 和 war 有什么不同?