jar包和war包的区别

一、概念

1、jar包:JAR包是类的归档文件,JAR文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。

2、war包:war包是JavaWeb程序打的包,war包里面包括写的代码编译成的class文件,依赖的包,配置文件,所有的网站页面,包括html,jsp等等。一个war包可以理解为是一个web项目,里面是项目的所有东西。

二、目录结构

1、jar包里的com里放的就是class文件,配置文件,但是没有静态资源的文件,大多数 JAR 文件包含一个 META-INF 目录,它用于存储包和扩展的配置数据,如安全性和版本信息。

2、而war包里的WEB-INF里放的class文件和配置文件,META-INF和jar包作用一样,war包里还包含静态资源的文件

三、总结起来就是有两点不同:

1、war包和项目的文件结构保持一致,jar包则不一样。

2、jar包里没有静态资源的文件(index.jsp)

四、部署项目的区别

1、部署普通的spring项目用war包就可以,部署springboot项目用jar包就可以,因为springboot内置tomcat。

原文链接:https://blog.51cto.com/qzcsbj/6025485

相关推荐
虫小宝3 小时前
如何在Java中实现批量数据处理
java·开发语言
king888866663 小时前
Java中的AQS
java
冰暮流星3 小时前
软设之类的继承与泛化,多重继承
java·开发语言
虫小宝3 小时前
Java中的多线程与并发编程详解
java·开发语言
oNuoyi3 小时前
定位线上同步锁仍然重复扣费的Bug定位及Redis分布式锁解决方案
java·spring boot·redis·分布式
Easonmax3 小时前
【C++】 解决 C++ 语言报错:Undefined Reference
java·开发语言·c++
王大锤43913 小时前
idea导入opencv和mediapipe
java·opencv·intellij-idea
01传说3 小时前
JAVA 发送短信信息工具类(腾讯云)
java·windows·腾讯云
java6666688883 小时前
Java中的线程调度与性能优化技巧
java·开发语言·性能优化
Easonmax3 小时前
【C++】 解决 C++ 语言报错:Invalid Cast
java·开发语言·c++