在J2EE应用程序中,模块打包为 JAR,WAR,和 EAR 。 J2EE中使用的是压缩文件格式。 J2EE定义了三种类型的档案: War JAR EAR
WAR 代表 Web存档。。WAR文件代表Web应用程序。 Web模块包含servlet类,JSP文件,HTML文件,JavaScript等,并打包为扩展名为。 war 的JAR文件。它包含一个名为 WEB-INF 的特殊目录。 WAR是一个模块,可加载到Java Application Server的Web容器中。 Java Application Server具有 两个容器: Web容器和 EJB容器。 Web容器托管基于Servlet API和JSP的Web应用程序。 Web容器要求将Web模块打包为WAR文件。这是WAR文件专用的JAR文件,在 WEB-INF 文件夹中包含 web.xmlv 文件。 EJB容器托管基于EJB API的Enterprise Java Bean。它要求将EJB模块打包为JAR文件。它在 META-INF 文件夹中包含一个 ejb-jar.xml 文件。 WAR文件的优点是可以轻松部署。在Web服务器环境中的客户端计算机上。要执行WAR文件,需要Web服务器或Web容器。例如,Tomcat,Weblogic和Websphere。 JAR JAR 代表 Java存档。包含Bean文件(类文件),清单和EJB部署描述符(XML文件)的EJB(企业Java Beans)模块打包为JAR文件,扩展名为。 jar。软件开发人员可以分发Java类和各种元数据。 换句话说,一个封装一个或多个Java类,清单和描述符的文件称为JAR文件。它是存档的最低级别。它在J2EE中用于包装EJB和客户端Java应用程序。 EAR EAR 代表 Enterprise Archive。。EAR文件代表企业应用程序。上面两个文件打包为扩展名为。 ear 的JAR文件。它已部署到应用服务器中。它可以包含多个EJB模块(JAR)和Web模块(WAR)。这是一个特殊的JAR,它在 META-INF 文件夹中包含一个 application.xml 文件。