经常在我们Java Web项目中看到jar/war/ear这几种文件类型,它们之间有何不同之处呢?我查了一些资料归纳整理如下:
jar/war /ear三种文件,在文件结构上,三者并没有什么不同,它们都采用zip或jar档案文件压缩格式。但是它们的使用目的有所区别:
Jar文件(扩展名为. Jar)包含Java类的普通库、资源(resources)、辅助文件 (auxiliary files)等
War文件(扩展名为.War)包含全部Web应用程序。在这种情形下,一个Web应用程序被定义为单独的 一组文件、类和资源,用户可以对jar文件进行封装,并把它作为小型服务程序(servlet)来访问。
Ear文件(扩展名为.Ear)包含全部企业应用程序。在这种情形下,一个企业应用程序被定义为多个jar 文件、资源、类和Web应用程序的集合。
每一种文件(.jar, .war, .ear)只能分别由应用服务器(application servers)、小型服务程序容器(servlet containers)、EJB容器(EJB containers)等进行处理。
JAR WAR EAR
英文 Java Archive file ; Web Archive file Enterprise Archive file
jar:包含内容 class、properties文件,是文件封装的最小单元; war:Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等;ear:除了包含 JAR、WAR以外,还包括EJB组件
部署文件 application-client.xml web.xml application.xml
级别 小 中 大
jar:封装类 war:封装web站点 ear:可以封装ejb
JAR: Software developers generally use .jar files to distribute Java applications or libraries, in the form. of classes and associated metadata and resources (text, images, etc.) JAR files build on the ZIP file format.
WAR: In computing, a WAR file (which stands for "web application archive" ) is a JAR file used to distribute a collection of JavaServer Pages, servlets, Java classes, XML files, tag libraries and static Web pages (HTML and related files) that together constitute a Web application.
EAR: An Enterprise ARchive, or EAR, is a file format used by Java EE for packaging one or more modules into a single archive so that the deployment of the various modules onto an application server happens simultaneously and coherently. It also contains XML files called deployment descriptors which describe how to deploy the modules. Maven or Ant can be used to build EAR files.
RAR: A Resource Adapter is an archive file format defined in the J2EE Connector Architecture (JCA) specification. A Resource Adapter aRchive (RAR) file is the valid format for deployment of resource adapters on application servers. J2EE RAR files may also be called connectors.
其他概念:
EJB: Enterprise JavaBeans (EJB) is a managed, server-side component architecture for modular construction of enterprise applications. The EJB specification is one of several Java APIs in the Java EE. EJB is a server-side model that encapsulates the business logic of an application.
JavaBean: JavaBeans are reusable software components for Java that can be manipulated visually in a builder tool. Practically, they are classes written in the Java programming language conforming to a particular convention. They are used to encapsulate many objects into a single object (the bean), so that they can be passed around as a single bean object instead of as multiple individual objects. A JavaBean is a Java Object that is serializable, has a nullary constructor, and allows access to properties using getter and setter methods.
Metadata: Metadata is a means to describe the data files.It provides information about a certain item's content, such as: means of creation, purpose of the data, time and date of creation, creator or author of data, placement on a network (electronic form) where the data was created, what standards used (ISO9000), etc.
分享到:
相关推荐
war包_jar包_ear包_及打包方法
在 Java 体系结构中,Ear、Jar、War 文件都是压缩文件格式,它们的主要区别在于它们的使用目的和应用场景。下面将对这三种文件进行详细的解释和比较。 Jar 文件 Jar 文件(扩展名为 .Jar)是 Java 类的普通库、...
关于war包_jar包_ear包_及打包方法
本篇文章将详细讲解`jar`、`war`包的结构,反编译的概念,以及如何使用反编译工具来获取源码。 首先,`jar`(Java Archive)文件是Java平台上的标准归档格式,它将多个文件(包括`.class`文件、资源文件等)打包在...
Java中Ear、Jar、War文件之间有何不同
本文将详细解析基于Java的三种打包格式:JAR、WAR和EAR包的作用与区别。 **JAR (Java Archive) 文件** JAR文件是最基本的打包形式,它主要用于封装Java类库,包括.class文件、资源文件、元数据等。开发者通常会将...
专门搜索jar,zip,war,ear压缩包里包含的文件
EAR(Enterprise Application Archive)与WAR(Web Application Archive)文件是Java企业级应用中常用的两种部署包格式。本文将详细介绍这两种文件的制作方法,并提供实际操作步骤。 #### 一、EAR 和 WAR 文件概述 ...
在 Ant build 文件中,我们将公用的 JAR 包都放到 EAR 文件下,而不是分别在 EJB JAR 包和 WAR 包中,以减少 JAR 包的冗余。 通过上面的步骤,我们可以使用 Ant 工具将 EJB 项目打包成 EAR 文件,並 deploy 到 ...
**企业级JavaBeans (EJB) 打EAR包详解** 企业级JavaBeans(EJB)是Java平台上的一个核心组件,用于构建可扩展、安全且可靠的分布式企业应用程序。EJB技术提供了一种标准的方式来实现业务逻辑,使得开发人员可以专注...
EAR文件是JavaEE应用的标准打包格式,它包含了多个组件,如EJB(Enterprise JavaBeans)、WAR(Web Application Archive)和JAR(Java Archive)等。通过EAR文件,开发者可以将整个应用作为一个单元进行部署,便于...
- `EAR(Enterprise Archive)`文件:用于打包整个企业级应用,包括多个WAR和EJB JAR。 7. **JAR冲突**: - 当多个JAR包含相同类时,可能会出现类加载冲突。解决方法包括使用不同的类加载器层次,或者通过排除...
在实际开发中,为了简化管理,我们通常会使用构建工具(如Maven或Gradle)来自动管理这些依赖,它们会根据项目配置自动下载所需的jar包并放入`lib`目录或构建出的war/ear包中。这样可以确保所有必要的依赖都被正确地...
它们可以解决不同库之间的版本冲突,并且只将应用实际需要的jar包打包到最终的WAR或EAR文件中,从而减小部署包的体积。 5. **优化与性能**:合理地管理和使用jar包可以提高JavaWeb应用的性能。例如,减少不必要的...
在部署时,应用会被打包成`.war`或`.ear`文件,然后部署到应用服务器(如Tomcat、WebLogic、JBoss等),这些服务器也提供了运行J2EE应用所需的`jar`包。 5. **依赖管理**: 在现代的开发环境中,如Maven或Gradle,...
9. **服务端应用**: JAR文件常用于创建Web应用程序的WAR(Web Application Archive)或EAR(Enterprise Application Archive)文件,这些在Tomcat、JBoss等应用服务器上运行。 10. **插件系统**: 一些软件允许通过...
在部署环境中,可能需要将jar包放在服务器的指定目录下或者打包到应用的WAR或EAR文件中。 总的来说,数据库jar包是Java与数据库通信的核心工具,它们使得开发者能够利用统一的JDBC接口来操作不同的数据库系统,大大...
在软件开发过程中,`jar`(Java Archive)文件扮演着至关重要的角色。它们是Java平台特有的归档格式,用于集合类、资源文件以及元数据,便于...在部署时,将这些jar包打包进最终的WAR或EAR文件,即可在服务器上运行。
在实际项目中,通常会将这些jar包整合到项目的类路径下,或者打包到应用的war或ear文件中,确保MyBatis能够正常工作。同时,为了方便管理,开发者可以使用Maven或Gradle等构建工具,它们能自动管理依赖,确保所有...
JAR文件通常用于创建可执行的Java应用程序、库或Web应用程序的WAR和EAR文件。 2. **为何需要查看JAR文件?** 查看JAR文件的内部可以帮助开发者进行调试、反编译代码、检查依赖关系、查找资源文件或确认类路径问题...