码迷,mamicode.com
首页 > 编程语言 > 详细

springboot如何使用外部tomcat容器

时间:2019-10-13 00:26:39      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:VID   直接   order   str   har   provided   目的   oid   depend   

//https://www.cnblogs.com/wzk-0000/p/9505265.html

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标签

1
<packaging>war</packaging>

3.还是在pom.xml文件中,dependencies下面添加

1
2
3
4
5
<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来调试,启动命令和以前没变

springboot如何使用外部tomcat容器

标签:VID   直接   order   str   har   provided   目的   oid   depend   

原文地址:https://www.cnblogs.com/zouhong/p/11664427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!