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

相关推荐
峰上踏雪1 小时前
Windows 下最推荐的 Qt + VS2026 + CMake 开发方案
开发语言·windows·qt
Upsy-Daisy1 小时前
Hermes Agent 学习笔记 04:工具调用系统,让 Agent 从“会说”变成“会做”
java·笔记·学习
Volunteer Technology1 小时前
SpringSecurity请求流转的本质
java·spring
楼田莉子1 小时前
C++20新特性:协程
开发语言·c++·后端·学习·c++20
xiaoshuaishuai81 小时前
C# AvaloniaUI 中旋转
开发语言·c#
心之伊始1 小时前
Spring AI MCP Client 实战:让 Java 后端通过 stdio 调用本地工具服务
java·spring boot·agent·spring ai·mcp
Dream_ksw1 小时前
Python 基础
开发语言·python
plainGeekDev1 小时前
文件读写(Java IO)→ Kotlin 扩展函数
android·java·kotlin
Full Stack Developme1 小时前
AspectJ 详解
java·后端