springboot 项目部署到外部tomcat详解编程语言

最近在用spring boot 弄了一个学习型的项目,学习一下spring boot怎样构建项目,spring boot 本身是内置tomcat的,如果想部署到外部tomcat, 就要做一些改变。

1 默认打包方式是jar包,改成war包打包,在pom.xml 里

 <packaging>war</packaging>

2 在maven里排除自带tomcat插件,有两种方法

第一种:

    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-web</artifactId> 
        <exclusions> 
            <exclusion> 
            <groupId>org.springframework.boot</groupId> 
            <artifactId>spring-boot-starter-tomcat</artifactId> 
            </exclusion> 
        </exclusions> 
    </dependency>

第二种:

    <dependency> 
        <groupId>org.springframework.boot</groupId> 
        <artifactId>spring-boot-starter-tomcat</artifactId> 
        <scope>provided</scope> 
    </dependency>

3 将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法

@SpringBootApplication public class BootdoApplication extends SpringBootServletInitializer { public static void main(String[] args) { 
        SpringApplication.run(BootdoApplication.class, args); 
        System.out.println("ヾ(◍°∇°◍)ノ゙    bootdo启动成功      ヾ(◍°∇°◍)ノ゙/n" + " ______                    _   ______            /n" + "|_   _ //                  / |_|_   _ `.          /n" + "  | |_) |   .--.    .--. `| |-' | | `. //  .--.   /n" + "  |  __'. / .'`// /// .'`// //| |   | |  | |/ .'`// // /n" + " _| |__) || //__. || //__. || |, _| |_.' /| //__. | /n" + "|_______/  '.__.'  '.__.' //__/|______.'  '.__.'  "); 
    } 
 
 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意这里要指向原先用main方法执行的Application启动类 return builder.sources(BootdoApplication.class); 
    } 
 
}

4 在idea 里用maven打包
maven clean and install 就打包完成了,在target下就能找到war包
5 后来发现war包在本地跑没问题,部署到服务器上就无法启动了,查阅spring boot 官方文档发现spring boot 只支持tomcat 8.5 以上版本,而服务器上的版本是7.0.47
打好war包里的tomcat 相关jar是8.5的
需要在pom.xml里指定低版本的tomcat

<properties> <tomcat.version>7.0.47</tomcat.version> </properties>

6 将打包好的war 放到tomcat的webapps下面 启动就可以了。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/15327.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论