`

ear文件结构

    博客分类:
  • ejb
 
阅读更多

 

1、打包文件命名规则
根据JavaEE规范,打包的EAR文件可以不适用部署描述符部署,因此需要使用一些默认的约定规则,例如
•EJBs and client archives are packaged as .jar files.

•Web applications are packaged as .war files.

•Resource adapters are packaged as .rar files.

•Enterprise applications are packaged as .ear files, and can contain other Java EE modules such as EJBs, JDBC, JMS, Web applications, and Resource Adapters.

•Web Services can be packaged either as .war files or as .jar files, depending on whether they are implemented using Java classes or EJBs. Typically, the .war or .jar files are then packaged in an Enterprise Application .ear file.

•Java EE libraries are packaged either as an Enterprise Application (.ear file) or as a standard Java EE module.

•Client applications and optional packages are packaged as .jar files.
2、Java EE默认部署规则
通常EAR应用也可以使用开放式目录部署,此时也应该参考以上的规范配置相应的文件夹,例如
war应用目录名必须为XX.war
EAR==>xx.ear  
RAR==>XX.rar
EJB==>xx.jar

3、Java EE标准的部署规则
a. 应用包中所有扩展名是.war 的文件被看作是 web 模块。Web 模块的上下文根
的名字是相对于应用包根的名字,但要去掉.war 扩展名。
b. 应用包中所有扩展名是.rar 的文件都被看作是资源适配器。
c. 名字为 lib 的目录被看作是库目录,正如在节 8.2.1“捆绑的库”中所述。
d. 对于应用包中所有以扩展名是.jar 但不包含在 lib 目录内的文件来说,按下面 的方式来处理:
i. 如果 JAR 文件中包含带有 Main‐Class 属性的 META‐INF/MANINFEST.MF 文件, 或者包含 META‐INF/application‐client.xml 文件,那么这个 JAR 文件被看作 是应用客户端模块。
ii. 如果 JAR 文件包含 META‐INF/ejb‐jar.xml 文件,或者包含任何带有 EJB 组件 注释符(Stateless,等等)的类,那么这个 JAR 文件被看作是 EJB 模块。
iii. 所有其他的 JAR 文件都被忽略,除非它被上面的 JAR 文件使用 JAR 文件引 用机制(如在 mainfest 文件中的 Class‐Path 头library-directory)引用。

在Jboss环境中,可以在application.xml中手工指定library-directory,例如:
<library-directory>APP-INF/lib</library-directory> 
其他的jboss遵循标准规范

4、Weblogic的部署规则
对于weblogic使用下面的一些规则处理目录结构:

•For an exploded archived Web application, in the absence of WEB-INF/web.xml descriptor, the name of the directory should have a .war suffix.

•For an exploded archived Enterprise Application without a META-INF/application.xml descriptor, the directory should have an .ear suffix. Within the application, the directory of exploded Web module should have a .war suffix. Similarly, the exploded EJB module should have a .jar suffix and the exploded RAR module should have a .rar suffix.

•If an exploded Enterprise Application contains no META-INF/application.xml descriptor, the order in which modules are deployed is undefined and is dependent on the underlying File.listFiles() method order. To ensure a specific order in which modules are deployed, you must add an application.xml descriptor and list the modules in the desired order.

如果在weblogic下面如果不使用上面的规则,则需要在application.xml 文件中指定对应的uri路径
或者在应用模块中使用下面的manifest路径规则

4.1 classloader的路径引用
在weblogic中EAR里面的所有应用共有一个classloader,所以对于ear里面的war,通常不需要在WEB-INF里面包含lib,weblogic提供了一个默认的目录:
APP-INF\lib:存放jar包
APP-INF\classes:存放classes

注意对于其他的应用服务器,可能没有这样的规则

5、Manifest Class-Path规则
在java EE规范中,可以使用manifest文件指定当前的应用模块对与其他classpath路径的关联引用,该文件位于
META-INF/MANIFEST.MF
路径下面,内容例如下面,多个引用路径使用空格分隔:
Manifest-Version: 1.0 
Class-Path: utility.jar ../xxx/classes ../xxxlib/xxx.jar 

META-INF/MANIFEST.MF



Manifest Class-Path

 

分享到:
评论

相关推荐

    EJB 打EAR包

    一个典型的EAR文件结构如下: - `META-INF`:包含应用的元数据,如`application.xml`部署描述符。 - `ejb-jar`:EJB组件的JAR文件,其中包含EJB类和相关元数据。 - `war`:如果应用包含Web组件,它们会被打包成WAR...

    jar_war_ear文件.doc

    从文件结构上来看,Jar、War、Ear 文件并没有什么不同,它们都采用 zip 或 jar 档案文件压缩格式。但是它们的使用目的有所区别。Jar 文件用于封装 Java 类和资源,War 文件用于封装 Web 应用程序,而 Ear 文件用于...

    eclipse导出ear包

    5. **配置EAR文件**:在EAR项目的MANIFEST.MF文件中,可以设置应用的元数据,如版本信息、供应商信息等。此外,也可以通过application.xml文件来定义EAR的结构和部署信息。 6. **导出EAR包**:完成上述步骤后,选择...

    JOnAS应用服务器快速指南

    - **EAR文件结构**:解释了如何打包应用程序为EAR文件,并且包含了所有的WAR、JAR文件和客户端文件。 #### 三、下载与安装指南 - **3.1 下载JOnAS** - **下载源**:指明从哪里可以获取JOnAS的官方版本。 - **3.2...

    J2ee常见问题手册.rar

    确保WAR或EAR文件结构正确,所有依赖项都已包含,并且服务器配置符合应用需求。 2. **EJB(Enterprise JavaBeans)问题** - **EJB查找失败**:检查JNDI名称是否正确,以及ejb-jar.xml和web.xml中的配置是否匹配。...

    J2EE架构师手册.rar

    在模块化设计中,读者将学习如何利用JAR、WAR和EAR文件结构来组织和打包应用。容器管理则涵盖Servlet容器、EJB容器以及它们如何管理组件生命周期。服务提供部分会讲解如何利用JNDI(Java Naming and Directory ...

    JBOSS4.2.3 文件结构图

    ### JBoss 4.2.3 文件结构解析 JBoss AS 4.2.3是JBoss Application Server的一个版本,广泛应用于Java企业级应用程序的开发与部署。理解JBoss AS 4.2.3的文件结构对于管理和配置该服务器至关重要。下面我们将详细...

    WAS 解压,was解压ear,C#源码.zip.zip

    【标题】"WAS 解压,was解压ear,C#源码.zip.zip" 提供了几个关键信息点,包括WebSphere Application Server (WAS)、EAR文件的解压缩以及C#编程语言。这个标题暗示了这是一个关于在C#环境下处理WebSphere应用服务器中...

    eclipse3.6创建EJB+JPA+EAR(每个都是单独工程)完整介绍

    本文将详细介绍如何在 Eclipse 3.6 中创建 EJB+JPA+EAR 项目,包括自动创建表结构、数据源配置、JPA 和 EJB 工程添加到 EAR 包中,以及注入 EntityManager。 一、创建 EJB 工程 在 Eclipse 3.6 中,创建 EJB 工程...

    GBK耳朵音乐(Ear Music)

    6. 文件结构分析: - `.htaccess`:这是一个Apache服务器配置文件,常用于URL重写、访问权限控制和缓存设置等。 - `favicon.ico`:网站的图标,显示在浏览器地址栏和书签中。 - `readme.md`:一般包含项目介绍、...

    pager ear zip 页 耳

    【标题】"pager ear zip 页 耳" 提供的信息主要涉及到一个名为 "Pager Ear" 的功能或工具,该工具与文件压缩有关系,可能是网页或软件的一部分,允许用户通过点击操作来滑出和关闭某个功能或界面。"zip" 指的是常用...

    Apache CXF文件目录结构及需要jar包

    5. **target**: 构建输出的目录,包含编译后的类文件、打包的WAR或EAR文件,以及相关的构建报告。 6. **samples**: 提供了一些示例应用,帮助开发者快速理解如何使用CXF来创建和消费Web服务。 在使用Apache CXF时...

    基于Java的打包jar、war、ear包的作用与区别详解

    EAR文件中的`META-INF`目录下有一个`application.xml`文件,它描述了EAR文件中包含的所有模块及其部署配置。例如,它可以定义EJB组件、Web应用的URI以及安全角色等。创建EAR文件同样可以通过命令行或构建工具进行。 ...

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

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

    邻居的耳朵ear 阅读apk

    1. **Android应用结构**:根据提供的文件列表,我们可以看到一个典型的Android项目结构。`.classpath`文件包含了项目中的类路径信息,用于构建和运行过程。`.project`文件是Eclipse IDE的项目配置,而`project....

    3D-Ear-generator-源码.rar

    【压缩包子文件的文件名称列表】: 3D-Ear-generator-master "3D-Ear-generator-master"这个名字暗示了这是一个Git仓库的主分支。在开源软件开发中,"master"分支通常代表项目的主线或默认版本。这意味着源代码可能...

    补丁、打包编译后的文件,自动生成class、jsp、js等文件目录(附教程)

    打包(Packaging)是指将编译后的各类文件整合成一个可执行的格式,例如Java项目的JAR、WAR或EAR文件。这些文件包含了运行应用程序所需的所有依赖和资源,便于在不同的服务器环境上部署。打包过程还可以包含配置文件...

    ear_cut_1.zip

    这个压缩包"ear_cut_1.zip"包含的是一个简单的耳切算法实现,主要由四个文件组成:main.cpp、queue_obj.cpp、global.h 和 queue_obj.h。接下来,我们将深入探讨耳切算法及其相关知识点。 耳切算法的基本思想是通过...

    smbms静态资源文件

    3. 配置Web服务器或应用服务器,部署应用的WAR或EAR文件。 4. 配置应用的配置文件,如`web.xml`,以指向正确的数据库连接和其他服务。 5. 运行应用并测试各个功能,确保一切正常。 通过学习和实践这个项目,开发者...

Global site tag (gtag.js) - Google Analytics