欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

SpringBoot 项目war包部署 配置外置tomcat方法

发布时间:2024/10/6 javascript 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SpringBoot 项目war包部署 配置外置tomcat方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一般情况spring-boot-starter-web是自带tomcat(即springboot内嵌tomcat),所以打包直接生成jar包,用java -jar命令就可以启动。但,有时我们希望用war格式的包,而不是jar格式的包。这就需要以下3步改造:
1.将项目的启动类Application.java继承SpringBootServletInitializer并重写configure方法。

@SpringBootApplication public class ServletInitializer extends SpringBootServletInitializer {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(ServletInitializer.class);}public static void main(String[] args) {SpringApplication.run(ServletInitializer.class, args);} }

2.在pom.xml文件中,project下面增加package标签,修改packaging为war项目。

<packaging>war</packaging>

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

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

注意:provided表示在编译和测试时使用(不加它,打的包中会指定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 项目war包部署 配置外置tomcat方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。