springboot项目打包成war用tomcat运行好还是打包成jar直接启动好?为何?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot项目打包成war用tomcat运行好还是打包成jar直接启动好?为何?相关的知识,希望对你有一定的参考价值。

参考技术A 在IT软件界,Java一直占据着大半壁江山,Java的生态圈环境很好,有着很多优秀的框架,而 Spring Boot 作为Spring框架中的代表,这几年也越来越火。

Spring Boot是用来简化Spring应用的配置和开发过程的,此框架采用了“约定优于配置”的理念, 免去了繁琐的XML配置 ,使我们开发项目更简单。而且Spring Boot提供了两种项目打包方式:生成war文件、生成可执行的jar文件,很多Java开发者不清楚这两种项目打包方式的区别,生产环境该选哪种方式呢?

1、war包方式部署

war包其实是打包后的Java Web工程, 本质上是个压缩包 ,里面包含了很多目录及文件,我们把war包放入Tomcat这类容器中启动后,war包就会自动解压出一个同名的文件夹来。

注意:Spring Boot项目如果要打包成war包来部署,是需要修改项目入口文件代码的。另外由于Spring Boot内置了Tomcat容器,所以打包成war包时要将内置的Tomcat依懒排除掉。

2、可执行jar文件方式部署

Spring Boot框架默认的打包部署方式是生成一个可执行的jar文件,无论项目多么复杂,依懒包有多少,最终只有一个jar文件(有些可能有外置的配置文件),在任何一台装有JRE/JDK环境的服务器上可以直接以 java -jar xx.jar 这种方式来运行(其实是靠内置的Tomcat来运行的),十分方便。

可执行jar文件方式部署是我们推荐的 ,特别是在微服务场景下部署更便捷。

无论是war方式还是jar方式,本质上差别并不大。在生产环境下还是要选择合适的方式。

综上,如果服务器配置高、节点多、微服务方式,建议选择jar方式部署;如果服务器配置跟不上,建议选择war方式部署(省内存空间)。

以上是关于springboot项目打包成war用tomcat运行好还是打包成jar直接启动好?为何?的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot 在打包部署的时候打包成 jar 和 war 有什么不同?

SpringBoot 在打包部署的时候打包成 jar 和 war 有什么不同?

SpringBoot 项目运行在 tomcat7 上

springboot项目打包成war包

springboot项目打包成war包

springboot打包成war,部署到tomcat无法访问的问题