Java 开发 - Jar 包与 War 包
Jar 包与 War 包
- 简单来说,Jar 包是普通程序包,War 包是专门给 Web 应用用的包,核心区别如下
- 用途不同
Jar:通常存放普通 Java 类、资源文件,用于构建普通应用或工具库(例如,JDBC 驱动) War:专门存放 Web 相关资源(Servlet、JSP、HTML、CSS、JS),用于部署 Web 应用- 运行方式不同
Jar:可以直接通过 java -jar app.jar 运行 War:不能直接运行,需要放到外部 Web 容器(例如,Tomcat、Jetty、WebLogic)的 webapps 目录下,由容器启动- 目录结构不同
Jar:解压后直接是 .class 文件和 META-INF 文件夹 War:解压后有固定的 Web 结构,例如,WEB-INF/web.xml、WEB-INF/classes、WEB-INF/lib- 适用场景
Jar:普通后端服务、命令行工具 War:传统 Web 项目、需要部署到独立 Tomcat 的应用、JSP 项目