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