.jar
和.war
文件有什么区别?
是只有文件扩展名不同还是还有其他的区别呢?
这些文件只是使用Java jar工具进行压缩的文件。这些文件被创建用于不同的目的。以下是这些文件的描述:
.jar文件: .jar文件包含库、资源和附件文件,如属性文件。
.war文件: war文件包含可部署在任何servlet/jsp容器上的Web应用程序。.war文件包含jsp、html、javascript和其他开发Web应用程序所必需的文件。
官方Sun/Oracle描述:
维基百科文章:
.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),.jsp文件,图片,文件等。 所有WAR内容都是为了创建一个自包含的模块。
war和jar是Java文件的存档。war是Web归档文件,它们在Web服务器上运行。jar是Java归档文件。
JAR文件扩展名为.jar,使用jar命令从命令提示符(类似于执行javac命令)创建。通常,JAR文件包含Java相关资源,如库、类等。JAR文件类似于winzip文件,但是JAR文件是平台无关的。
WAR文件只是一个JAR文件,但仅包含与Web有关的Java文件,如Servlets、JSP、HTML。
要执行WAR文件,需要Web服务器或Web容器,例如Tomcat、Weblogic或Websphere。要执行JAR文件,只需简单的JDK即可。