关于springboot项目的jar和war两种打包方式部署的区别?

1.我的一个springboot项目,用mvn install打包成jar,换一台有jdk的机器就直接可以用java -jar 项目名.jar的方式运行,没任何问题,为什么这里不需要tomcat也可以运行了?

2.然后我打包成war放进tomcat运行,发现端口号变成tomcat默认的8080(我在server.port中设置端口8090)项目名称也必须加上了。
也就是说我在原来的机器的IDEA中运行,项目接口地址为 ip:8090/listall,打包放进另一台机器的tomcat就变成了ip:8080/项目名/listall。这又是为什么呢?

通过jar运行实际上是启动了内置的tomcat,所以用的是应用的配置文件中的端口
直接部署到tomcat之后,内置的tomcat就不会启用,所以相关配置就以安装的tomcat为准,与应用的配置文件就没有关系了
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-06-08
JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。

【格式特点】:

安全性 可以对 JAR 文件内容加上数字化签名。这样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码是否被篡改过。

减少下载时间 如果一个 applet 捆绑到一个 JAR 文件中,那么浏览器就可以在一个 HTTP 事务中下载这个 applet 的类文件和相关的资源,而不是对每一个文件打开一个新连接。

压缩:JAR 格式允许您压缩文件以提高存储效率。

传输平台扩展:Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR 文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。

springboot在打包部署的时候打包成jar和war有什么不同?
SpringBoot在打包部署时,提供两种形式:jar和war。选择不同形式,意味着在具体环境下的执行方式和适应场景有所不同。若打包为jar,此文件可直接独立执行。原因在于SpringBoot内部做了特殊处理,将jetty\/tomcat等组件封装在jar包中,且默认main函数指向SpringBoot启动bootstrap,使之具备自启动能力。将应用打包...

SpringBoot 部署打包成 jar 和 war 有什么不同?
在探讨SpringBoot项目部署时,我们经常会遇到将项目打包成jar和war文件的情况。这两种打包方式的主要区别在于它们在服务器环境中的运行方式和用途。war文件是一个Web应用程序的封装,它包含了一个名为WEB-INF的目录结构,可以被视为一个可以独立运行的Web模块。war包通常用于部署在支持War格式的服务器上,...

关于springboot项目的jar和war两种打包方式部署的区别?
通过jar运行实际上是启动了内置的tomcat,所以用的是应用的配置文件中的端口 直接部署到tomcat之后,内置的tomcat就不会启用,所以相关配置就以安装的tomcat为准,与应用的配置文件就没有关系了

springboot项目打包成war用tomcat运行好还是打包成jar直
2. **方便运维**:当项目在外部的Web服务器上部署,如Tomcat,为了方便运维团队进行配置与维护,打包为WAR包是理想选择。这减少了与内部开发团队的交互,使得配置修改更加灵活。3. **老技术体系**:对于已有的老项目,使用了独立的Tomcat部署模式,为了减少改造成本与风险,可以选择保留原有的部署方式,...

java项目打包成jar包和war包有什么区别?
Java项目打包成jar包和war包的区别主要体现在项目的架构和部署方式上。在当下,spring boot项目通常以maven或gradle方式打成jar包,包内仅包含与Java相关的文件,如.class或xml、properties等。而war包因其首字母“w”代表“web”,包内则包含了web相关文件,如jsp等。在spring boot项目中,虽然也可以将...

springboot项目打包成war用tomcat运行好还是打包成jar直接启动好?为何...
1、war包方式部署 war包其实是打包后的Java Web工程, 本质上是个压缩包 ,里面包含了很多目录及文件,我们把war包放入Tomcat这类容器中启动后,war包就会自动解压出一个同名的文件夹来。注意:Spring Boot项目如果要打包成war包来部署,是需要修改项目入口文件代码的。另外由于Spring Boot内置了Tomcat...

使用maven和fat jar\/war运行应用程序的对比
在处理Spring Boot应用程序的部署时,我们通常会遇到两种方式:使用Maven命令或创建fat jar\/war包。Maven的mvn spring-boot:run命令提供了便利,而fat jar\/war则适用于不同的部署环境。Maven Spring Boot Plugin的运用,使得部署过程更加高效,它能在打包时自动下载依赖。通过在项目根目录下执行mvn命令,...

Docker部署SpringBoot项目的两种方式总结
1. 手工方式部署首先,将SpringBoot项目打包成jar文件。然后,创建Dockerfile,以基础镜像Spring Boot为起点,定义关键步骤如下:FROM: 明确运行环境,如`FROM openjdk:8-jdk-alpine`。VOLUME \/tmp: 持久化\/tmp目录,确保Tomcat容器使用。ADD: 将应用jar复制并重命名至容器内,如`ADD elk-web-1.0-...

运行springboot有哪几种方法
1、在IDE中运行 在Eclipse、IDEA中直接运行,又有以下两种方式。jar包方式:Spring Boot默认采用jar包内嵌Tomcat、Jetty等Server的方式,并需要提供一个含有main方法的主类。这个时候,直接在IDE中运行这个main方法就能启动Spring Boot应用了。war包方式:如果你的应用改装成了war包方式部署,这个时候就需要在...

ispring如何发布
iSpring的发布通常指的是Spring Boot项目的发布方式,主要有通过jar包发布和通过war包发布两种常见方式。通过jar包发布 Spring Boot项目默认打包成jar包,这种方式简单快捷,适合大多数基于Spring Boot的Web应用。发布步骤如下:1. 配置pom.xml:确保在项目的pom.xml文件中添加了Spring Boot Maven插件,该...

相似回答