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 小时前
实现 json path 来评估函数式解析器的损耗
java·前端·json
老前端的功夫3 小时前
Web应用的永生之术:PWA落地与实践深度指南
java·开发语言·前端·javascript·css·node.js
@forever@3 小时前
【JAVA】LinkedList与链表
java·python·链表
LilySesy4 小时前
ABAP+WHERE字段长度不一致报错解决
java·前端·javascript·bug·sap·abap·alv
六件套是我4 小时前
redission实现延时队列
android·java·servlet
王元_SmallA4 小时前
Redis Desktop Manager(Redis可视化工具)安装
java·后端
ᐇ9594 小时前
Java HashMap深度解析:数据结构、原理与实战指南
java·开发语言·数据结构
好好研究4 小时前
Spring框架 - 开发方式
java·后端·spring
武子康5 小时前
Java-166 Neo4j 安装与最小闭环 | 10 分钟跑通 + 远程访问 Docker neo4j.conf
java·数据库·sql·docker·系统架构·nosql·neo4j
2301_796512525 小时前
Rust编程学习 - 为什么说Cow 代表的是Copy-On-Write, 即“写时复制技术”,它是一种高效的 资源管理手段
java·学习·rust