使用MyEclipse开发Java EE应用:企业级应用程序项目(下)
你开学,我放价!MyEclipse线上狂欢继续!火热开启中>>
二、项目组织、依赖性和类解析
JEE规范为企业应用程序定义了一个分层的Java类解决策略,这个自下而上的搜索策略如下图所示。当任何模块引用Java类时,其本地类加载器首先搜索该模块的代码库。如果该类不是本地模块,那么该模块会在上一级的类加载器上进行搜索请求。 此过程一直持续到找到类或达到顶级Java引导类加载器(未在图中显示)。

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

更多资讯敬请访问MyEclipse中文网>>
使用MyEclipse开发Java EE应用:企业级应用程序项目(下)的更多相关文章
- 使用MyEclipse开发Java EE应用:企业级应用程序项目(上)
你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 一.EAR项目模型 MyEclipse提供企业应用程序项目模型,即EAR项目模型,以及用于 ...
- 使用MyEclipse开发Java EE应用:EJB项目开发初探(上)
你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 一.MyEclipse EJB开发工具 Enterprise Java Beans (EJ ...
- 使用MyEclipse开发Java EE应用:EJB项目开发初探(下)
你开学,我放价!MyEclipse线上狂欢继续!火热开启中>> [MyEclipse最新版下载] 三.EJB 3.x项目中的持久性支持 当创建EJB 3.x项目时,作为选项您可以添加JPA ...
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(二)
[MyEclipse最新版下载] 二.创建一个Session EJB – Part 1 MyEclipse中的EJB 2.x开发使用了EJB向导和集成XDoclet支持的组合. 每个EJB由三个基本部 ...
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(一)
[MyEclipse最新版下载] 一.创建一个EJB项目 1. 选择File>New Project,选择EJB Project,然后单击Next. 2. 在Project name字段中输入f ...
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(四)
MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 四.运行XDoclet代码生成 通常每次更改XDoclet EJB配置.应用程序服务器设置或修改任何EJB ...
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(三)
MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 三.配置XDoclet支持的项目 默认情况下,MyEclipse EJB项目未配置使用XDoclet功能. ...
- 使用MyEclipse开发Java EE应用:用XDoclet创建EJB 2 Session Bean项目(五)
MyEclipse限时秒杀!活动火热开启中>> [MyEclipse最新版下载] 六.部署到JBoss服务器 1. 右键单击Servers视图,然后选择New>Server,选择您安 ...
- 使用Eclipse/MyEclipse开发Java程序
集成开发环境(IDE)是一类软件 将程序开发环境和程序调试环境集合在一起,提高开发效率 下载eclipse安装包网址:http://www.eclipse.org/downloads/ **MyEcl ...
随机推荐
- BZOJ4419: [Shoi2013]发微博 暴力
Description 刚开通的SH微博共有n个用户(1..n标号),在短短一个月的时间内,用户们活动频繁,共有m条按时间顺序的记录: ! x 表示用户x发了一条微博: + x y 表示用户x和用 ...
- java面试项目经验:框架及应用
Java项目经验 Java就是用来做项目的!Java的主要应用领域就是企业级的项目开发!要想从事企业级的项目开发,你必须掌握如下要点:1.掌握项目开发的基本步骤2.具备极强的面向对象的分析与设计技巧3 ...
- Intel微处理器学习笔记(二) 三种模式
三种模式:实模式.保护模式和平展模式. 实模式存储器(DOS存储器)位于00000H~FFFFFH,共1M空间(任何型号微处理器都支持). 保护模式存储器(Windows存储器)可位于整个保护存储系统 ...
- cannot marshal None unless allow_none is enabled
今天运行一个launch文件的时候出现了以下报错 load_parameters: unable to set parameters (last param was [/robot_state_pub ...
- 在centos下解决 “致命错误:curses.h:没有那个文件或目录”
当在centos下编译带有头文件<curses.h> 的程序时,出现以下错误: “致命错误:curses.h:没有那个文件或目录” ,最后在“https://zhidao.baidu.co ...
- Codeforces 877E - Danil and a Part-time Job(dfs序+线段树)
877E - Danil and a Part-time Job 思路:dfs序+线段树 dfs序:http://blog.csdn.net/qq_24489717/article/details/5 ...
- Codeforces 847C - Sum of Nestings
847C - Sum of Nestings 思路:简单的递归. 代码: #include<bits/stdc++.h> using namespace std; #define ll l ...
- Codeforces 525A - Vitaliy and Pie
525A - Vitaliy and Pie 思路:贪心+hashing. 代码: #include<bits/stdc++.h> using namespace std; string ...
- ASCII 和 Unicode 编码的由来
大话数据结构上的说明: 网络博文的说明:
- C#实现的UDP收发请求工具类实例
本文实例讲述了C#实现的UDP收发请求工具类.分享给大家供大家参考,具体如下: 初始化: ListeningPort = int.Parse(ConfigurationManager.AppSetti ...