• jar/war/ear包的区别


    以最终客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希望的结果。除jar以外对于J2EE来说还有war和ear。区别见下表:

     

    JAR

    WAR

    EAR

    英文 Java Archive file   Web Archive file Enterprise Archive file
    包含内容 class、properties文件,是文件封装的最小单元; Servlet、JSP页面、JSP标记库、JAR库文件、HTML/XML文档和其他公用资源文件,如图片、音频文件等; 除了包含JAR、WAR以外,还包括EJB组件
    部署文件 application-client.xml web.xml   application.xml
    级别

    经常在我们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文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到 他们希望的结果。除jar以外对于J2EE来说还有war和ear。区别见下表:
    =================================================================

    这三种文件都可以看作是java的压缩格式,其实质是实现了不同的封装:

    jar--封装类
    war--封装web站点
    ear--封装ejb。
    它们的关系具体为:
    jar:      是java Achieve--按java格式压缩的类包,包含内容 class、properties文件,    是文件封装的最小单元 级别:小
    war:     是file web Achieve--包含Servlet、JSP页面、JSP标记库、JAR库文件HTML/XML文档和其他公用资源文件,如图片、音频文件等 级别:中
    ear:    是 file Enterprise Achieve--除了包含JAR、WAR以外,还包括EJB组件   部署文件 application-client.xml web.xml application.xml    级别:大
    一个web组件开发者执行以下的任务来传递一个包含web组件的WAR文件:
    | 编写并编译servlet源代码
    | 编写jsp、html文件
    | 指定web的开发描述符
    | 邦定.class,.jsp,.html和部署描述符到一个WAR文件。
    以最终客户的角度来看,.jar文件就是一种封装,他们不需要知道.jar文件中有多少个.class文件,每个文件中的功能与作用,同样可以得到他们希 望的结果。除jar以外对于j2ee来说还有war和ear。
    ear中可以包含war,jar文件。jar文件可以将ejb包含其中。war可以将web组件包含其中。  
    jar表示java的标准档案文件,有一个有趣的双关语:a   jar   of   beans(一罐豆子)。
     

    所有的包都是用jar打的,只不过目标文件的扩展名不一样。

    ear包:企业级应用,通常是EJB打成ear包。 ear是J2ee的应用文件的扩展名是Enterprise Application Achiever,是打包了的企业应用程序,里面可包含war(web Application archiever),ejb等

    war包:是做好一个web应用后,通常是网站,打成包部署到容器中。

    jar包:通常是开发时要引用通用类,打成包便于存放管理。

  • 相关阅读:
    jps命令
    Collection
    java.lang包中异常
    final关键字
    JVM运行时数据区域
    String详解
    哈希码
    Java虚拟机
    垃圾收集器与内存分配策略
    solr简介
  • 原文地址:https://www.cnblogs.com/jameslif/p/3653872.html
Copyright © 2020-2023  润新知