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 项目

相关推荐
zzh___zzh11 小时前
SQL 窗口函数 ROW_NUMBER、RANK、DENSE_RANK 常用方法笔记
java
计科土狗11 小时前
GESP六级专题之类与对象
java·前端·数据库
福如意如我心意11 小时前
java虚拟线程和Go协程的区别
开发语言
Slow菜鸟11 小时前
第3篇:实操落地篇 · 3套企业标准工作流(IDEA可视化版)
java·ide·intellij-idea
weixin_4407841111 小时前
Java基础常见题
java·开发语言·python·java基础
掉鱼的猫11 小时前
Hot-Plug 实战:运行期管理 Solon 插件
java·hotfix
(Charon)12 小时前
【C++】多线程死锁:产生原因、复现与解决方法
开发语言·c++·算法
markinmarkin12 小时前
Spring 中有哪些方式可以把Bean 注入到IOC 容器?
java·spring
跨境小彭12 小时前
Python列表去重的6种高效方法(含保留顺序+性能对比)
开发语言·python
今天AI了吗12 小时前
Python 基础语法从入门到使用详解
开发语言·人工智能·python