zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

2023-06-13 09:20:44 时间

最近在用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下面 启动就可以了。

15327.html

cjavaxml