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

author author     2023-04-06     208

关键词:

参考技术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包

1、在pom.xml文件中修改<packaging>war</packaging>2、移除springboot自带的tomcat<!--移除自带的tomcat--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo 查看详情

springboot项目打包成war包

1、在pom.xml文件中修改<packaging>war</packaging>2、移除springboot自带的tomcat<!--移除自带的tomcat--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-bo 查看详情

springboot项目运行在tomcat7上

SpringBoot项目如何打成war包SpringBoot项目的默认打包方式是将工程打包成为一个jar包。部分情况下,我们需要将项目打包成一个war包,以方便我们将工程部署在tomcat上运行。那如何将SpringBoot项目打包成一个war包呢?pom文件修改修改... 查看详情

springboot:项目打包成war并发布到tomcat上运行

一、修改pom文件1.因为SpringBoot中嵌入的有Tomcat,因此要移除嵌入式的Tomcat插件1<dependency>2<groupId>org.springframework.boot</groupId>3<artifactId>spring-boot-starter-web</artifactId>4<!--移除嵌入 查看详情

springboot在打包部署的时候打包成jar和war有什么不同?(代码片段)

...先给大家来讲一个我们遇到的一个奇怪的问题:我的一个springboot项目,用mvninstall打包成jar,换一台有jdk的机器就直接可以用java-jar项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?然... 查看详情

springboot在打包部署的时候打包成jar和war有什么不同?(代码片段)

...先给大家来讲一个我们遇到的一个奇怪的问题:我的一个springboot项目,用mvninstall打包成jar,换一台有jdk的机器就直接可以用java-jar项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?然... 查看详情

springboot部署打包成jar和war有什么不同?(代码片段)

...先给大家来讲一个我们遇到的一个奇怪的问题:我的一个springboot项目,用mvninstall打包成jar,换一台有jdk的机器就直接可以用java-jar项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?然... 查看详情

springboot打包成war,部署到tomcat无法访问的问题(代码片段)

...但是到了项目打包发布掉链子了。如很多帖子一样:首先springboot内嵌的tomcat,再依赖servlet-api,修改启动类继承SpringBootServletInitializer,打成war放入tomcat中一、pom.xml删掉内嵌tomcat`<dependency><groupId>org.springframew 查看详情

springboot项目打包war发布到jetty9

1.前言虽然官方推荐SpringBoot项目采用jar包方式发布,但是也可以打成war包发布到外部web容器(如Jetty,tomcat等)。接下来我们讨论一下,如何将一个SpringBoot项目打包成war包。更多参考:​​《SpringBoot项目发布到服务器的两种方式w... 查看详情

springboot在sts里将项目打包成war

springboot通过在maven的pom.xml里面添加springboot自带的打包插件,可以直接将项目打包成可执行的jar文件<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></p... 查看详情

将javaweb项目打包war文件然后发布到tomcat,

...成war包了,那么可以直接登陆到tomcat后台,上传你的war包项目了。上传成功之后tomcat会自动部署你的项目。 参考技术B如上,war部署后,自动解压为文件夹,不是直接跑war包。一般war包中就不包含源代码了,如果想修改java代码,... 查看详情

springboot项目打war包,并部署到tomcat

参考技术Aidea:2019.1ultimatespringboot:2.2.5tomcat:9.0.31这里有两种方式可供选择:全称:org.springframework.boot.web.servlet.support.SpringBootServletInitializer,官方文档也有详细介绍为什么要继承。直接使用idea的maven插件进行打包发布:先进行clean... 查看详情

springboot如何打包项目?(代码片段)

我们打包SpringBoot项目一般是打包成jar包或者war包!jar包和war包最大的区别在于jar包打出来的可直接运行,我们可以直接进行访问,因为他内前置了tomcat服务器。但是war包在打包的时候会提前移除tomcat相关组件,我... 查看详情

用idea打springboot项目war包(代码片段)

最近有个springboot项目要发布到独立的tomcat下运行,其中遇到了很多坑,在此记录下:1.springboot项目打包配置:首先在启动类目录下新增打包类备注:启动类继承自SpringBootServletInitializer方可正常部署至常规tomcat... 查看详情

springboot在sts里将项目打包成war

springboot通过在maven的pom.xml里面添加springboot自带的打包插件,可以直接将项目打包成可执行的jar文件<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot 查看详情

使用idea对springboot项目打war包及遇到的问题总结(代码片段)

使用maven创建的springboot项目的默认打包方式是jar包,而且springboot是自带Tomcat的。部署项目时需要打包成对应的war包,并将项目部署到服务器的Tomcat下,所以项目打包时就需要修改一些配置。主要修改pom.xml文件中的一... 查看详情

springboot项目部署(代码片段)

如何将springboot项目打包成war包发布到tomcat上参考:https://www.cnblogs.com/qianzf/p/8405479.html 一、修改打包的方式:在pom.xml里设置<packaging>war</packaging> 二、移除嵌入式tomcat插件在pom.xml里找到spring-boot-starter-web 查看详情

springboot项目部署到tomcat

...加<.packaging>war</.packaging>,打包为war包2、不使用SpringBoot内置的Tomcat,添加二、修改application.properties文件,添加content-path三、修改启动文件main方法,让该方法继承自SpringBootServletInitializer,并且重写configure方法:修改后的... 查看详情