J2EE进阶(二十三)jar、war、ear包的区别

#J2EE进阶(二十三)jar、war、ear包的区别
    以最终客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。除jar以外对于J2EE来说还有war和ear。区别见下表:
这里写图片描述
    我们经常在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: 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.

![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/e415b30dbbbc5ab4a2c1175b0e899fa7.png)
![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/5ea7f92a4b50d8465587c45e4b34108a.png)
![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/f26b6c802951d54cd92c22204011ed16.png)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No Silver Bullet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值