.war和.ear文件有什么区别?


当前回答

WAR (web archive)文件包含servlet类文件、jsp (Java servlet页面)、HTML和图形文件以及其他支持文件。

EAR(企业存档)文件包含WAR文件以及包含代码的JAR文件。

这些文件中可能还有其他内容,但它们的意思基本上就是它们听起来的意思:WAR用于web类型的东西,EAR用于企业类型的东西(战争,代码,连接器等)。

其他回答

WAR (web archive)文件包含servlet类文件、jsp (Java servlet页面)、HTML和图形文件以及其他支持文件。

EAR(企业存档)文件包含WAR文件以及包含代码的JAR文件。

这些文件中可能还有其他内容,但它们的意思基本上就是它们听起来的意思:WAR用于web类型的东西,EAR用于企业类型的东西(战争,代码,连接器等)。

参见:http://www.wellho.net/mouth/754_tar-jar-war-ear-sar-files.html

焦油(磁带档案) —使用的格式为以fileName、fileSize、fileData为串行单位写入的文件 -不压缩。可以是巨大的

Jar (java存档) -使用的压缩技术 -通常包含Java信息,如类/ Java文件。但可以包含任何文件和目录结构

战争(web应用程序档案) -类似于jar文件只有特定的目录结构,根据JSP/Servlet规范用于部署目的

耳朵(企业档案) -类似jar文件。目录结构符合J2EE要求,这样它就可以部署在J2EE应用服务器上。 -可以包含多个JAR和WAR文件

Ear文件提供了配置与应用程序服务器交互的更多选项。

例如:如果应用服务器的hibernate版本比依赖项提供的版本旧,您可以为JBOSS在ear-deployer-jboss-beans.xml中添加以下内容以隔离类加载器并避免冲突:

<bean name="EARClassLoaderDeployer" class="org.jboss.deployment.EarClassLoaderDeployer">    
  <property name="isolated">true</property>
</bean>

或者到src/main/application/META-INF/jboss-app.xml:

<?xml version="1.0"?>
<jboss-app>
<loader-repository>
    loader=nameofyourear.ear
<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</jboss-app> 

这将确保应用程序和应用服务器之间没有类加载器冲突。

通常,类加载器机制是这样工作的:

当一个类装入请求被提交给类装入器时,它首先被提交 请求它的父类装入器来完成请求。父类,在 Turn向它的父类请求类,直到请求到达顶部 层次结构。如果类装入器位于层次结构的顶部 不能满足请求,则调用它的子类装入器 负责加载类。

通过隔离类加载器,ear类加载器将不会查找父类(=JBoss /其他AS类加载器)。 据我所知,战争档案是不可能的。

使项目的传输、部署变得容易。 需要压缩成一个文件。 JAR (java存档).class文件组

WAR (web存档)——每个WAR代表一个web应用程序 -只使用web相关技术,如servlet, jsp可以使用。 -可以在Tomcat服务器上运行 web应用程序开发的web相关技术只有JSP servlet HTML js - info只表示没有事务。

EAR(企业存档)——每个EAR代表一个企业应用程序 -我们可以使用j2ee中的任何东西,比如ejb, JMS都可以愉快地使用。 -可以在Glassfish服务器上运行,而不是在Tomcat服务器上。 -任何技术开发的企业应用程序,从j2ee到所有web 应用程序加上ejbs JMS等。 -使用信息表示进行交易。如。银行app,电信app

战争网档案。它根据servlet标准部署web应用程序。它是一个jar文件,包含一个名为web - inf的特殊目录和其中的几个文件和目录(web.xml, lib, classes),以及所有的HTML, JSP,图像,CSS, JavaScript和其他web应用程序的资源

耳朵-企业档案。它用于部署包含ejb、web应用程序和第三方库的企业应用程序。它也是一个jar文件,它有一个名为APP-INF的特殊目录,其中包含application.xml文件,它包含jar和war文件。