Java 开发 - Jar 包与 War 包

Jar 包与 War 包

  • 简单来说,Jar 包是普通程序包,War 包是专门给 Web 应用用的包,核心区别如下
  1. 用途不同

    Jar:通常存放普通 Java 类、资源文件,用于构建普通应用或工具库(例如,JDBC 驱动)

    War:专门存放 Web 相关资源(Servlet、JSP、HTML、CSS、JS),用于部署 Web 应用

  2. 运行方式不同

    Jar:可以直接通过 java -jar app.jar 运行

    War:不能直接运行,需要放到外部 Web 容器(例如,Tomcat、Jetty、WebLogic)的 webapps 目录下,由容器启动

  3. 目录结构不同

    Jar:解压后直接是 .class 文件和 META-INF 文件夹

    War:解压后有固定的 Web 结构,例如,WEB-INF/web.xml、WEB-INF/classes、WEB-INF/lib

  4. 适用场景

    Jar:普通后端服务、命令行工具

    War:传统 Web 项目、需要部署到独立 Tomcat 的应用、JSP 项目

相关推荐
HEJOO93 分钟前
Linux 设备驱动系列——使用全局工作队列
java·linux·算法
谢亮_vipxieliang9 分钟前
Go Channel 高级模式——从底层原理到扇出扇入实战
java·数据库·golang
Code_Solitude16 分钟前
c语言:递归
java·c语言·算法
Nebula_g33 分钟前
JavaSE加强:Stream流
java·开发语言·windows·stream·javase·流
估值探索者34 分钟前
【Python量化系统工程实战 #08】从脚本到生产:量化系统上线 checklist 的最小闭环
java·开发语言·jvm·python·数据挖掘·数据·股票数据api接口
Wang's Blog38 分钟前
Java框架 SpringCloud 快速入门: Nacos 环境隔离
java·开发语言·spring cloud
万年咸鱼1 小时前
解决C语言的内存释放机制
java·c语言·python
破芽1 小时前
python知识点整理02
开发语言·python
一木 之林1 小时前
DeepSeek Agent 开发(三)
java·大数据·linux
denlaku1 小时前
JDK 10 新特性详解
java·开发语言