「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类加载器操作的项目依赖项

相关推荐
若鱼19199 分钟前
JPA/Hibernate中一对一关联时不持有外键方的属性延迟加载为什么不生效?
java·spring
砍材农夫17 分钟前
spring-ai 第八模型介绍-图像模型
java·人工智能·spring
橘子hhh38 分钟前
Netty基础服务器实现
java·nio
墨雪遗痕40 分钟前
工程架构认知(二):从 CDN 到 Keep-Alive,理解流量如何被“消化”在系统之外
java·spring·架构
用户6688599847661 小时前
Sprint Boot登录案例
java
Ivanqhz1 小时前
LLVM IR 转 SMT公式
java·开发语言
一个心烑1 小时前
奖项届定获取方式
java
小红的布丁1 小时前
Reactor 模型详解:单 Reactor、主从 Reactor 与 Netty 思想
android·java·开发语言
weixin_704266051 小时前
redis 的集群
java·数据库·redis
被摘下的星星1 小时前
Java的类加载
java·开发语言