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

MyEclipse最新版下载

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

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

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项目的关联作为模块。

JEE EAR类加载器操作项目的依赖关系

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

使用MyEclipse开发Java EE应用:企业级应用程序项目(下)的更多相关文章

  1. 使用MyEclipse开发Java EE应用:企业级应用程序项目(上)

    你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 一.EAR项目模型 MyEclipse提供企业应用程序项目模型,即EAR项目模型,以及用于 ...

  2. 使用MyEclipse开发Java EE应用:EJB项目开发初探(上)

    你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 一.MyEclipse EJB开发工具 Enterprise Java Beans (EJ ...

  3. 使用MyEclipse开发Java EE应用:EJB项目开发初探(下)

    你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 三.EJB 3.x项目中的持久性支持 当创建EJB 3.x项目时,作为选项您可以添加JPA ...

  4. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(二)

    [MyEclipse最新版下载] 二.创建一个Session EJB – Part 1 MyEclipse中的EJB 2.x开发使用了EJB向导和集成XDoclet支持的组合. 每个EJB由三个基本部 ...

  5. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(一)

    [MyEclipse最新版下载] 一.创建一个EJB项目 1. 选择File>New Project,选择EJB Project,然后单击Next. 2. 在Project name字段中输入f ...

  6. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(四)

    MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 四.运行XDoclet代码生成 通常每次更改XDoclet EJB配置.应用程序服务器设置或修改任何EJB ...

  7. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(三)

    MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 三.配置XDoclet支持的项目 默认情况下,MyEclipse EJB项目未配置使用XDoclet功能. ...

  8. 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(五)

    MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 六.部署到JBoss服务器 1. 右键单击Servers视图,然后选择New>Server,选择您安 ...

  9. 使用Eclipse/MyEclipse开发Java程序

    集成开发环境(IDE)是一类软件 将程序开发环境和程序调试环境集合在一起,提高开发效率 下载eclipse安装包网址:http://www.eclipse.org/downloads/ **MyEcl ...

随机推荐

  1. MariaDB / MySQL数据类型

    MariaDB / MySQL 数据类型 有三种主要的类型:Text(文本).Number(数字)和 Date/Time(日期/时间)类型. Text 类型: 数据类型 描述 CHAR(size) 保 ...

  2. 01_Spark基础

    1.1.Spark Ecosystem BlinkDB: 允许用户定义一个错误范围,BlinkDB将在用户给定的错误范围内,尽可能快的提供查询结果 1.2.Spark愿景 1.3.Spark简介 1) ...

  3. UVa 1149 装箱

    https://vjudge.net/problem/UVA-1149 题意:给定N个物品的重量和背包的容量,同时要求每个背包最多装两个物品.求至少需要的背包数. 思路:很简单的贪心.每次将最轻的和最 ...

  4. linux awk命令详解--转载

    awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理,然后输出 awk命令形式: awk [-F ...

  5. python 元组中元组转为字典

    #create a tuple tuplex = ((, , "r")) print(dict((y, x) for x, y in tuplex))

  6. telnet不是内部或外部命令的解决方案

    telnet主要是为了维护使用,windows默认不打开这个功能,所有无法登陆 按照下面截图,可轻松打开telnet功能 点击控制面板 选择程序和功能 点击左上角打开 turn windows fea ...

  7. selenium_webdriver(python)获取元素属性值,浏览器窗口控制、网页前进后退,title/url打印

    <span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-s ...

  8. 用docker部署gitlab

    docker hub官网下载gitlab速度太慢,改用国内镜像+中文版 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh ...

  9. 【Golang 接口自动化07】struct转map的三种方式

    背景 我们在前面介绍过怎么使用net/http发送json或者map数据,那么它能不能直接发送结构体数据呢?我们今天一起来学习结构体struct转map的三种方法,为后续做铺垫. struct转map ...

  10. rsync+inotify文件同步

    rsync+inotify文件同步 在服务器中,通常结合计划任务.shell脚本来执行本地备份.为了进一步提高备份的可靠性,使用异地备份也是非常重要的,利用rsync工具,可以实现快速.高效的异地备份 ...