「Java EE开发指南」如何用MyEclipse创建企业应用项目?(二)

由于有了项目模型和管理工具,现在可以创建Java EE企业应用程序。在本文中您将了解到:

  • 企业应用项目模型
  • 项目组织、依赖关系和类解析

该特性在MyEclipse中可用。在上文中(点击这里回顾>>),我们为大家介绍了创建企业应用项目中的企业应用项目模型,本文将继续介绍项目组织、依赖关系和类解析等,欢迎下载最新版IDE体验!

MyEclipse v2025.1离线版下载

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

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

类加载器层次结构

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

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

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

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

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

模拟Java EE EAR类加载器操作的项目依赖项

相关推荐
NE_STOP9 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室14 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风16 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme16 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better16 小时前
学会与虚拟机对话---ASM
java
开源之眼18 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori31619 小时前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户9083246027320 小时前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋20 小时前
DecimalFormat 与 BigDecimal
java·后端
beata20 小时前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端