用MyEclipse创建第一个企业应用程序项目!

翻译|使用教程|编辑:龚雪|2023-03-15 11:23:10.450|阅读 50 次

概述:本文将为大家介绍MyEclipse创建第一个企业应用程序项目,欢迎下载最新版IDE体验~

1. 企业应用项目模型

MyEclipse提供了一个企业应用程序项目模型,即EAR项目模型,以及用于创建Java EE企业应用程序的管理工具。由图标标识的EAR项目是Web、应用程序客户端、连接器和EJB项目的逻辑容器,它产生一个单一的服务器端部署单元,称为Java EE Enterprise Archive (EAR)。在物理上,EAR项目的文件夹结构中没有子项目,而是EAR项目维护对其组件模块的引用。

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

最常见的Java EE模块类型有:

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

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

通常,Web模块提供Web用户界面服务和用户对一个或多个EJB模块提供的业务服务的访问,Java EE规范将EAR定义为标准的Java EE部署单元。此外,规范允许(但不要求)应用服务器供应商支持其他部署形式,如独立WAR和EJB jar。

用MyEclipse创建第一个企业应用程序项目!

MyEclipse项目模型与Java EE企业应用程序模型的相似之处如下:

  • MyEclipse Web Module项目——设计时相当于Java EE Web模块,Web Module项目与基本的MyEclipse Web项目相同,只是添加了内部元数据和可选的项目依赖项。
  • MyEclipse EJB模块项目——设计时相当于Java EE EJB模块,EJB模块项目与基本的MyEclipse EJB项目相同,只是增加了内部元数据和可选的项目依赖项。
  • MyEclipse企业项目——设计时相当于Java EE企业应用程序,不包含任何Web或EJB项目代码,而是维护与模块项目的关联。

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

注意:对于需要application.xml文件的Java EE版本,不要移动或重命名该文件或META-INF文件夹,这样做会导致部署失败,项目元数据文件以外的所有资源都被认为是部署的一部分。

用MyEclipse创建第一个企业应用程序项目!

下图描述了MyEclipse web项目的Resource透视图,这个视图显示了项目的部署信息,可以使用项目的Deployment Assembly属性自定义项目部署。

用MyEclipse创建第一个企业应用程序项目!
2. 项目组织、依赖项和类解析

Java EE规范为企业应用程序定义了分层Java类解析策略,这种自底向上的搜索策略如下图所示。当任何模块引用Java类时,其本地类加载器首先在该模块的代码基中搜索该类,如果在模块本地找不到类,则模块向上一级的类加载器发出搜索请求,这个过程一直持续到找到类或到达顶级Java引导类加载器为止(图中没有显示)。

用MyEclipse创建第一个企业应用程序项目!

理解Java EE企业应用程序类加载器策略很重要:类加载策略影响开发者如何选择在Web和EJB模块项目之间分发类,例如,如果有一个或多个业务数据对象在web模块的用户界面元素和EJB模块的服务之间传递,通过在EJB模块中定位数据对象,它们对web模块和EJB模块都是可见的。

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

  • 在web模块中放置数据对象类会导致运行时ClassNotFoundExceptions
  • 将共享类复制到web和EJB模块项目,这种方法通常会导致难以诊断与序列化和类不兼容相关的错误,这使得实践比第一点更加困难

MyEclipse Java EE项目模拟这种分层类加载器策略,为开发者提供构建时对MyEclipse企业项目及其组成Web和EJB模块项目的类加载器可见性的准确洞察。这是使用Eclipse项目依赖项完成的,如下面的插图所示,当web或EJB项目被添加到MyEclipse EAR项目时,项目依赖项将相应设置。不要手动修改这些项目依赖项,这样做可能会引入不必要的编译问题。

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

用MyEclipse创建第一个企业应用程序项目!

MyEclipse技术交流群:742336981 欢迎一起进群讨论

更多MyEclipse中文教程资讯请上中文网获取


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP