扫码咨询 电话咨询
023-68661681
返回
顶部

Loding the player....

本视频来由慧都网提供   查看原视频>>

MyEclipse企业级应用程序项目

你开学,我放价!MyEclipse线上狂欢继续!火热开启中>>

MyEclipse最新版下载

一、EAR项目模型

MyEclipse提供企业应用程序项目模型,即EAR项目模型,以及用于创建JEE企业应用程序的管理工具。通过图标识别EAR项目是Web、应用程序客户端、连接器和EJB项目的逻辑容器,其结果是单个服务器端部署单元(称为JEE企业存档(EAR))。没有子项目实际位于EAR项目的文件夹结构中,而EAR项目保留对其组件模块的引用。

JEE规范将企业应用程序的运行时结构定义为模块所需的JEE模块和基本文件资源的集合。

最常见的JEE模块类型有:

  • Web模块 - 通常表示为Web存档(WAR)
  • EJB模块 - 通常表示为EJB JAR存档

EAR项目必须至少包含一个模块项目。因此,在EAR项目开发过程中,只要包含一个模块项目,就可以根据需要添加和删除模块项目。在部署企业项目时,引用的模块项目将封装在各自的归档表单中,并作为企业归档的模块部署。

通常Web模块提供Web用户界面服务,用户访问由一个或多个EJB模块提供业务服务。JEE规范将EAR定义为标准JEE部署单元。此外,该规范允许但不要求应用程序服务器供应商支持其他部署表单,如独立的WAR和EJB JAR。

使用MyEclipse开发Java EE应用
MyEclipse项目模型架构

MyEclipse项目模型以下列方式与JEE Enterprise Application模型相似:

  • MyEclipse Web Module项目 - Design-time相当于一个JEE Web模块。一个Web模块项目与一个基本的MyEclipse Web项目相同,增加了内部元数据和可选的项目依赖关系。
  • MyEclipse EJB Module项目 - Design-time相当于JEE EJB模块。EJB模块项目与基本的MyEclipse EJB项目相同,增加了内部元数据和可选的项目依赖关系。
  • MyEclipse Enterprise项目 - Design-time相当于一个JEE企业应用程序。不包含任何Web或EJB项目代码,而是维护与模块项目的关联。

使用JavaEE版本小于5.0的所有EAR项目都使用META-INF根文件夹和空的META-INF/application.xml部署描述符创建对于使用JEE5或更高版本的项目,此文件不是必需的,您可以选择为此生成此文件。 您可以根据需要修改application.xml文件。

注意:对于需要application.xml文件的JEE版本,请勿移动或重命名此文件或META-INF文件夹,否则会导致部署失败。项目的元数据文件以外的所有资源都被视为部署的一部分。

使用MyEclipse开发Java EE应用
MyEclipse透视图的企业应用程序项目

下图显示了MyEclipse Web项目的资源透视图。该视图显示了项目的部署信息,可以使用项目的部署程序集属性来自定义项目部署。

使用MyEclipse开发Java EE应用
企业应用程序项目的资源透视图

二、项目组织、依赖性和类解析

JEE规范为企业应用程序定义了一个分层的Java类解决策略,这个自下而上的搜索策略如下图所示。当任何模块引用Java类时,其本地类加载器首先搜索该模块的代码库。如果该类不是本地模块,那么该模块会在上一级的类加载器上进行搜索请求。 此过程一直持续到找到类或达到顶级Java引导类加载器(未在图中显示)。

使用MyEclipse开发Java EE应用
Classloader层次结构

了解JEE企业应用程序类加载器策略非常重要:加载策略会影响如何在Web和EJB模块项目之间分配类。例如,如果您有一个或多个在Web模块中的用户界面元素和EJB模块的服务之间传递业务的数据对象,通过在EJB模块中定位数据对象,它们对Web模块和EJB模块都是可见的。

导致类加载问题的两个常见项目组织错误是:

  • 将数据对象类放在Web模块中,从而导致运行时ClassNotFoundExceptions。
  • 将共享类复制到Web和EJB模块项目,该方法通常导致很难诊断序列化和类不兼容性相关的错误。

MyEclipse JEE项目模仿了这种层次化类加载器策略,为您提供准确的集结时间了解MyEclipse企业项目及其组成Web和EJB模块项目的类加载器。这是使用Eclipse项目依赖关系完成的,如下图所示。 当将Web或EJB项目添加到MyEclipse EAR项目时,相应地设置项目依赖关系。不要手动修改这些项目依赖关系,这样做可能会引起不必要的编译问题。

注意:MyEclipse开发团队认为,支持类加载器仿真是一个至关重要的要求,用来帮助开发人员识别难以解决由类加载程序可见性问题引起的运行时错误。这是MyEclipse不支持在EAR项目中嵌入模块代码的原因之一。 相反,EAR项目将维护与单个Web和EJB项目的关联作为模块。

使用MyEclipse开发Java EE应用
JEE EAR类加载器操作项目的依赖关系

更多资讯敬请访问MyEclipse中文网>>