【发布时间】:2011-08-17 18:46:18
【问题描述】:
.jar 和 .war 文件有什么区别?
它只是文件扩展名还是还有更多?
【问题讨论】:
.jar 和 .war 文件有什么区别?
它只是文件扩展名还是还有更多?
【问题讨论】:
来自Java Tips: Difference between ear jar and war files:
这些文件只是压缩文件 使用 java jar 工具。这些文件是 为不同的目的而创建。这里 是这些文件的描述:
.jar 文件: .jar 文件包含 图书馆、资源和 附件文件,如属性文件。
.war 文件:war 文件包含 网络应用程序 部署在任何 servlet/jsp 上 容器。 .war 文件包含 jsp, html、javascript 等文件 网络发展所必需的 应用程序。
Sun/Oracle 官方说明:
维基百科文章:
【讨论】:
.war file 具有特定文件的特定结构。除此之外,是的,它只是一个.jar。
【讨论】:
您将 Web 组件添加到称为 Web 应用程序存档 (WAR) 的包中的 J2EE 应用程序,它是一个类似于用于 Java 类库的包的 JAR。 WAR 通常包含除 Web 组件之外的其他资源,包括:
- 服务器端实用程序类(数据库 bean、购物车等)。
- 静态网络资源(HTML、图像和声音文件等)
- 客户端类(小程序和实用程序类)
WAR 具有特定的分层目录结构。 WAR 的顶级目录是应用程序的文档根目录。文档根目录是 JSP 页面、客户端类和档案以及静态 Web 资源的存储位置。
(source)
所以 .war 是一个 .jar,但它包含 Web 应用程序组件并根据特定结构布局。 .war 旨在部署到 Web 应用程序服务器(如 Tomcat 或 Jetty)或 Java EE 服务器(如 JBoss 或 Glassfish)。
【讨论】:
.war 文件是在应用服务器内运行的 Web 应用程序存档,而.jar 是在用户计算机上运行桌面应用程序的 Java 应用程序存档。
【讨论】:
war 文件是一个特殊的 jar 文件,用于打包 Web 应用程序,以便将其部署到应用程序服务器上。 war 文件的内容必须遵循定义的结构。
【讨论】:
.jar 和 .war 都是压缩存档文件。 两者都可以有可选的 META-INF/MANIFEST.MF 清单文件,其中包含版本控制等信息信息,以及将执行它的 JVM 的类路径和主类等指令属性。
.war 文件 - Web 应用程序存档旨在在“Servlet 容器”内执行,并且可能包含其他 jar 文件(位于 WEB-INF/lib 目录)已编译的类(位于 WEB-INF/classes(servlet 也在那里) ) .jsp 文件图像、文件等。 为了创建一个独立的模块而存在的所有 WAR 内容。
【讨论】:
war 和 jar 是 java 文件的存档。战争是网络档案,它们在网络服务器上运行。 jar 是 java 存档。
【讨论】:
基本上都是压缩档案。 war 用于具有特定目录结构的 Web 应用程序。
【讨论】:
JAR 文件的扩展名是 .jar,它是使用命令提示符下的 jar 命令创建的(就像执行 javac 命令一样)。通常,JAR 文件包含 Java 相关资源,如库、类等。JAR 文件类似于 winzip 文件,只是 Jar 文件与平台无关。
WAR 文件只是一个 JAR 文件,但仅包含与 Web 相关的 Java 文件,例如 Servlet、JSP、HTML。
要执行 WAR 文件,需要 Web 服务器或 Web 容器,例如 Tomcat 或 Weblogic 或 Websphere。要执行一个 JAR 文件,简单的 JDK 就足够了。
【讨论】:
战争——
分发基于 Java 的 Web 应用程序。 WAR 具有相同的文件 JAR 文件的结构,它是一个单独的压缩文件, 包含捆绑在其中的多个文件。
罐子-
.jar 文件包含库、资源和附件文件 比如属性文件。
WAR 文件用于组合 JSP、servlet、Java 类文件、XML 文件、javascript 库、JAR 库、静态网页和任何 运行应用程序所需的其他资源。
【讨论】:
JAR 文件允许打包多个文件,以便将其用作库、插件或任何类型的应用程序。另一方面,WAR 文件仅用于 Web 应用程序。
可以使用任何所需的结构创建 JAR。相比之下,WAR 有一个带有 WEB-INF 和 META-INF 目录的预定义结构。
JAR 文件允许 Java 运行时环境 (JRE) 在单个请求中部署整个应用程序,包括类和相关资源。另一方面,WAR 文件允许轻松测试和部署 Web 应用程序。
【讨论】:
War:针对网络应用程序
Jar:针对桌面应用程序
或
战争:在浏览器上工作
Jar:在机器上工作
【讨论】:
Jar:- jar 只包含 .class war:-war 包含 html、js、css 和 .class 以及 jsp 和 servlets 页面
【讨论】:
此外,使用嵌入式容器,您可以直接运行 JAR 文件来设置 Web 服务器,就像使用 Spring Boot 运行 Java 应用程序一样。但是,对于 WAR 文件,您需要先设置一个 Web 服务器,例如 Tomcat。
【讨论】: