用MyEclipse创建第一个企业应用程序项目!
创始人
2025-05-29 06:58:23
0

MyEclipse v2022.1.0正式版下载

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项目模型与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 web项目的Resource透视图,这个视图显示了项目的部署信息,可以使用项目的Deployment Assembly属性自定义项目部署。

2. 项目组织、依赖项和类解析

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

理解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项目的关联。

相关内容

热门资讯

跟我学c++高级篇——c++模... 一、模板元编程在c++中的发展 模板元编程从本质上看和函数编程有些类似。其实偏底层的...
若依整合Easy-Es实现文章... Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHigh...
一家三口去张家界5日跟团游价格... 一家三口去张家界5日跟团游价格,张家界旅游团报价5日游价格表,看这省心又省钱。最近我和老公商量着带娃...
宜昌三峡旅游攻略三日游报团,宜... 最近,我有幸和朋友们一起踏上了前往宜昌三峡的旅程。宜昌三峡,那山清水秀、景色宜人的地方,一直是我向往...
计算机网络 简单FTP客户端软... 一.原理概述 1.1 FTP原理概述 文件传送协议FTP(File Transfer ...
Qt音视频开发23-视频绘制Q... 一、前言 采集到的图片,用painter绘制是最基础的方式,初学者可能第...
原创 腊... 导读:腊肉处理,第一步先泡水还是先煮?大厨教你做法,简单易学真好吃 腊肉作为中国传统美食,承载着深厚...
2025重庆美食“渝味360碗... 5月29日,以“舌尖渝味·全球共享”为主题的2025重庆美食“渝味360碗”嘉年华在九龙坡区巴国城正...
这样吃粽子=喂胃酸?升糖速度是... 明天就将迎来端午节, 粽子是节日绕不开的美食。 如今, 动辄半斤的大粽子越来越流行。 佳节到来之际,...
端午养生正当时,解锁传统佳节里... “五月五日午,赠我一枝艾。”宋代文天祥的《端午即事》道出了端午传统习俗承载着深厚的文化底蕴。作为中国...
行业龙头微念领航螺蛳粉出海 亮... 日前,2025 SIAL 西雅国际食品展在上海新国际博览中心圆满举办。本届西雅展汇集全球35万件特色...
计算机网络(第九弹) --- ...   传输控制协议 TCP 在整个计算机网络中占有很高的地位, 它会控制着网络上数据的传输过程, 当然...
金融“及时雨”润泽南粤文旅,看... 当开平碉楼在夜色中亮起璀璨灯火,当丹霞山索道载着游客掠过云海,当潮州古城的青石板路迎来熙攘人潮,20...
来大连拍哪儿最好看?指南来了!... 晨报讯(半岛晨报、39度视频记者肖崟崟) 5月29日上午,由大连市委宣传部、大连市文化和旅游局、中山...
Kompex::SQLiteD... 使用Kompex::SQLiteDatabase的时候,发现并没有加密的接口ÿ...
2023年华为认证H12-82... 一、什么是HCIP-Datacom 英文名:HCIP-Datacom-Advanced...
【2023-Pytorch-检... 项目下载地址:YOLOV5交通标志识别检测数据集+代码+模型+...
JavaWeb——Repons... 响应体当中的两种的数据格式:字符和字节 Reponse响应字符数据 演示,在get请...
端午节前夕大明湖 水碧树绿美如... 齐鲁晚报·齐鲁壹点记者 周青先端午节前夕,航拍济南大明湖景区。湖水清澈如玉,湖畔树木葱绿,景色仿佛画...
Python3 内置函数 Python3 内置函数 注意:有些函数与 Python2.x 变化不大࿰...