• JAR、WAR、EAR 区别


    JAR包

    JAR 文件格式以流行的 ZIP 文件格式为基础;

    与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用

    JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。

    作用:

    1. 作为工具包和类库;这个是最基本的作用,在大型项目中,一般会依赖N多JAR包。
    2. 作为应用工程和扩展的构建单元;开发大型应用的时候,一般会将应用分成几个单元,每个单元用jar包封装,并相互依赖。
    3. 作为组件、applet 或者插件程序的部署单位;
    4. 用于打包与组件相关联的辅助资源。

    典型的jar包内部结构如下:

    tools.jar

      |  resource.xml                    // 资源配置文件

      |  other.xml

      | 

      |— META-INF           

      |            MANIFEST.MF         // jar包的描述文件

      |— com                               // 类的包目录

             |—test  

                       util.class            // java类文件

    WAR包

    WAR(Web Archive file)网络应用程序文件,是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。war专用在web方面

    JAVA WEB工程,都是打成WAR包进行发布。

    典型的war包内部结构如下:

    webapp.war

      |    index.jsp

      |

      |— images

      |— META-INF

      |— WEB-INF

              |   web.xml                   // WAR包的描述文件

              |

              |— classes

              |          action.class       // java类文件

              |

              |— lib

                        other.jar             // 依赖的jar包

                        share.jar

    EAR包

    为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件),是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。 

    针对企业级项目,实际上EAR包中包含WAR包和几个企业级项目的配置文件而已,一般服务器选择WebSphere等,都会使用EAR包。

    典型的ear包内部结构如下:

    app.ear

       |   ejb.jar                        // ejb-jar包

       |   other.jar                    // 普通的jar包

       |   webapp.war              // war包

       |

       |—META-INF

              application.xml        // EAR描述文件

  • 相关阅读:
    TSQL Beginners Challenge 1
    SQL拾遗
    简易实体生成方式
    CTE-递归[2]
    编号处理
    行列转换/横转竖
    OUTPUT、Merge语句的使用
    关于SQL IO的一些资料
    对左值(lvalue)和右值(rvalue)的两种理解方式
    跨平台判断64位和32位开发的一些宏定义
  • 原文地址:https://www.cnblogs.com/huzefeng/p/4335987.html
Copyright © 2020-2023  润新知