`
alanland
  • 浏览: 635811 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

EAR 文件格式 简介

    博客分类:
  • Xml
阅读更多

下面翻译自wikipedia

 

一种企业的存档-EAR,是一种文件模式,它用于 Java EE 来打包一个或者多个模块到一个档案文件,从而使发布到一个应用程序上的众多模块工作的更加协调和同步.EAR文件包含了称作部署描述符的一些 xml 文件,这些文件用来描述如何发布各个模块. Maven 和 Ant 都可以用来构建 EAR 文件.

 

文件结构

 

EAR 文件是一种标准的 JAR 文件,也就是 ZIP 文件,只是有了一个 .ear 的后缀.它包含了一个或者多个此条来代表应用程序的模块,还有一个称为 META-INF 的元数据目录来包含一个或者多个的部署描述符.

 

模块

服务器部署的不同模块都可以被嵌入到一个 EAR 文件:

 

  • web 模块.(后缀为 .war)  这是一个可部署的单元,包含了一个或者多个部件,其他的资源文件,以及一个网络应用程序的部署描述符. web 模块包含在一个体系之中,这个体系包含了多个目录和文件,并使用标准的网络应用程序格式.
  • POJO Java类可以部署在Jar文件里.(POJO: Plain Ordinary Java Object,不包含业务逻辑的简单Java对象)
  • EJB模块以 .jar为扩展名.它包含自己的 META-INF 目录描述,来描述持久化类的部署.部署之后,实体bean对于其他的组件可见,如果是远程输出,也对远程客户端可见.消息bean和会话bean对于远程的介入是可用的.
  • 资源适配器模块以 .rar 为扩展名.

类隔离

大部分的应用程序服务器都是从一个部署的 ERA 文件以一种Java类加载器组成孤立数的形式加载类,这样和别的应用程序来加以隔离,而不是对发布模块之间的共享类直接进行隔离.比如,一个部署的WAR 文件会创建这样一个类,它定义了一个包含在 EAR 文件中的 JAR 文件,但这些在其他的 EAR 文件中的 JAR 文件并不是必要的.这种行为的一个重要原因就是为了允许使用静态单例(比如 Log4j)的应用程序之间的完全隔离,否则的话就会混淆单独的应用程序之间的配置.这也使得应用程序和库的不同版本可以并行的发布.

对JBoss应用服务器值得关注的是它并不隔离部署的容器.通过一个 EAR 文件发布的网络应用程序可以得到别的EAR 或者 WAR 文件中的类.这是一个有点争议的策略.统一类加载器用来在类数据可以通过引用和拷贝共享的情况下,减少运行中应用程序之间的开销.这也同样避免了让开发人员必须去理解类加载器树的创建.但是,它也阻止了在独立应用程序上已经部署的独立库的不同版本.JBoss 4.0.2 切换到了分级的类加载器,但是到了 4..0.3 ,因为一些向后兼容的原因又回复到了统一的类加载器.现在有了一个配置选项来改变这种行为.

META-INF 目录

META-INF 目录至少要包含一个称为 Java EE 部署描述符的部署描述符 application.xml.它包含了如下的 xml 实体:

  • 图标,指明了代表应用程序图片的位置.一个分支有大图标和小图标组成.
  • 显示名称,用来定义应用程序.
  • 描述
  • 档案中每个模块的一个模块元素.
  • 0个或者多个安全角色元素,用于应用程序中的全局安全角色.
每个模块元素都包含了一个 ejb, web 或者 java 元素来描述在应用程序中自己的模块.web 模块还提供了了一个上下文根来通过他的 url 来标识web模块.

紧接着 Java EE 部署描述符可以有一个或者多个运行时部署描述符,用来配置特定的Java EE参数实施.
0
3
分享到:
评论

相关推荐

    jar_war_ear文件.doc

    在 Java 体系结构中,Ear、Jar、War 文件都是压缩文件格式,它们的主要区别在于它们的使用目的和应用场景。下面将对这三种文件进行详细的解释和比较。 Jar 文件 Jar 文件(扩展名为 .Jar)是 Java 类的普通库、...

    怎样制作ear,war文件

    怎样制作ear,war文件?提供两种方法

    MyEclipse 10.X 导出EAR WAR报错解决文件

    解决 MyEclipse 10.X 导出EAR WAR报错问题 , 将原文件解压重组上传..同时将Price降低

    Java中Ear、Jar、War文件之间有何不同

    Java中Ear、Jar、War文件之间有何不同

    jce工具包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    33种jar包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    Ear_Music(耳朵音乐CMS文件下载代码审计).zip

    文件下载代码审计

    plugin工具包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    jfxswt工具包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    management-agent工具包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    jsse工具包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    javaws工具包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    resources工具包.rar

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    rt工具包.rar(111111111)

    JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。与 ...

    jfr工具包.rar

    JAR(Java Archive,Java 归档文件)[1]是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP 文件格式为基础。...

    charsets工具包.rar

    charsets.jar工具包,JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)。JAR 文件格式以流行的 ZIP ...

    jar finder --专门搜索jar,zip,war,ear压缩包里包含的文件

    专门搜索jar,zip,war,ear压缩包里包含的文件

    EAR Search:在EAR文件中递归搜索文本和正则表达式-开源

    “ EAR搜索”工具使您可以在给定的JAVA归档文件(EAR,WAR,JAR和ZIP)中搜索文本和正则表达式。 该工具会在包含的存档文件中进行递归搜索。

    Ear-Clipping:演示如何使用Ear Clipping和示例OpenGL程序对一组点进行三角测量

    Contact图书馆以earClipping_ *开头的文件组成一个独立的库,该库可以对传递给它的任何简单多边形进行三角剖分。 唯一的要求是以适当的Polygon结构提供数据点。结构体库中有两种结构:点和多边形。 点是存储在...

    javaee-starter:具有Ear,ejb和war的JavaEE入门项目(基于Apache Maven)

    JavaEE入门项目 (仍然不完整) 描述 该项目包含几个Maven示例项目,这些项目归为一个Maven项目。 它包含一个战争项目,一个ejb项目,一个ear...结果是一个ear文件,该文件位于目标文件夹的javaee-starter-ear项目中。

Global site tag (gtag.js) - Google Analytics