您的位置 首页 java

【java】1000问2SpringBoot项目打成war和jar有什么区别

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,所以用的是应用的配置文件中的端口

【java】1000问2SpringBoot项目打成war和jar有什么区别

直接部署到tomcat之后,内置的tomcat就不会启用,所以相关配置就以安装的tomcat为准,与应用的配置文件就没有关系了

jar包和war包的区别:

1、war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块;jar一般只是包括一些 class文件 ,在声明了Main_class之后是可以用 java 命令运行的。

2、war包是做好一个web应用后,通常是网站,打成包部署到容器中;jar包通常是开发时要引用通用类,打成包便于存放管理。

3、war是Sun提出的一种Web应用程序格式,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织;classes目录下则包含编译好的 Servlet 类和 Jsp 或Servlet所依赖的其它类(如JavaBean)可以打包成jar放到WEB-INF下的lib目录下。

如何打包成jar或者war形式,参考第一问。

文章来源:智云一二三科技

文章标题:【java】1000问2SpringBoot项目打成war和jar有什么区别

文章地址:https://www.zhihuclub.com/185895.shtml

关于作者: 智云科技

热门文章

网站地图