.jar文件和.war文件有什么区别? 仅仅是文件扩展名还是还有其他的东西?


当前回答

You add web components to a J2EE application in a package called a web application archive (WAR), which is a JAR similar to the package used for Java class libraries. A WAR usually contains other resources besides web components, including: Server-side utility classes (database beans, shopping carts, and so on). Static web resources (HTML, image, and sound files, and so on) Client-side classes (applets and utility classes) A WAR has a specific hierarchical directory structure. The top-level directory of a WAR is the document root of the application. The document root is where JSP pages, client-side classes and archives, and static web resources are stored.

(源)

所以。war是一个。jar,但它包含web应用程序组件,并根据特定的结构进行布局。.war被设计为部署到web应用服务器(如Tomcat或Jetty)或Java EE服务器(如JBoss或Glassfish)。

其他回答

此外,使用嵌入式容器,你可以直接运行一个JAR文件,就像用spring boot运行你的java应用程序一样,设置一个web服务器。但是,对于WAR文件,您需要首先设置一个web服务器,例如Tomcat。

ear jar和war文件的区别:

这些文件只是压缩文件 使用Java jar工具。这些文件是 为了不同的目的而创造。在这里 是这些文件的描述: .jar文件:.jar文件包含 图书馆、资源和 附件文件,如属性文件。 .war文件:war文件包含 可以是web应用程序 部署在任何servlet/jsp上 容器。.war文件包含jsp, Html, javascript等文件 这是网络发展所必需的 应用程序。


Sun/Oracle官方描述:

J2EETM教程:Web应用程序档案 Java归档(JAR)文件格式:基础


维基百科:

WAR文件格式(Sun) JAR文件

war文件是一个特殊的jar文件,用于打包web应用程序,使其易于部署到应用服务器上。war文件的内容必须遵循已定义的结构。

Jar:—Jar只包含.class War: War包含html, js, CSS和.class以及JSP和servlet页面

War和jar是Java文件的存档。战争是网络档案,他们运行在网络服务器上。Jar是Java归档文件。