快速业务通道

J2EE类装入揭密 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
路径。如果错误地将它们添加到全局类路径,则它们 将无法装入(例如)J2EE JAR 文件中的连接池类。这将再次作为 ClassNotFoundException 出现在数据库驱动程序上,但是,对数据库驱动程序类而言,向下查看 J2EE 类是错误的。

查找资源(属性文件、图像等)的公共可移植技术是使用类装入器的 findResourceXX 方 法。基于前面的讨论,您可以看出为什么对这个作业使用正确的类装入器是重要的。例如, 如果使用 WebSphere 类装入器,您将不能在模块中找到任何资源。

WebSphere 类装入器隔离方式

正如前面提到的,WebSphere 使用几个类装入器来从部署到服务器的模块中装入应用程序 代码。这些类装入器的数量和功能取决于已在 WebSphere 服务器配置中指定的类装入器隔离 方式(也称为模块可见性方式)。有四种设置可供选择:

Server? 对于整个服务器都使用同一个类装入器。

Application? 对于每个企业应用程序使用独立的类装入器。

Module? 对每个模块使用单独的类装入器。

Compatibility-- 使用与 WebSphere Application Server 3.0.x 和 3.5.x 相同的类装 入器模式。这允许代码具有跨越企业应用程序边界的可见性。不赞成使用该方式,除非您正 在从旧的服务器中迁移代码。

构建更大的 ? 模块相互依赖性

J2EE类装入揭密(3)

时间:2011-04-09 Gary Karasiuk Tim deBoer

当在企业应用程序内构建跨越多个模块的应用程序时,请确保一个模块中的类可以看到另 一个模块中它所使用的类。对于想使用企业应用程序之外的 JAR 文件的模块来说也是如此, 并且对于编译时和运行时都必须完成该操作。

在编译时,更新类路径是很简单的。您只需要编辑项目的属性然后更改 Java 构建路径以 包含其它项目或 JAR 文件,但且慢动手!我们将介绍一种更简便的方法,它只用一步就在编 译时和运行时更新它。常规情况下,不要手工更改 J2EE 项目的 Java 构建路径。下列步骤 将自动更新并维护构建路径,然后与运行时保持同步。

在运行时,当引用其它模块时,应用程序必须遵循 J2EE 规范。如上面的“WebSphere 类 装入器”所述,不要简单地将一个项目放在其中一个全局类路径上,因为这可能会对类装入 产生严重影响,并且使所有其它应用程序都能看见您的代码,后果同样严重。

您也不应该依赖于 WebSphere 类装入器隔离方式。如果您的服务器以(例如) Application 方式运行,则可能不必做任何更改就能使应用程序在运行时工作。不要依赖于 它!以后,可能需要将应用程序部署到在 module 方式下运行的服务器中,并且您将发现应 用程序不再工作。无论使用哪种隔离方式,请遵循下面建议的步骤以确保您的应用程序正确 。

解决方案将利用 J2EE 模块是 JAR 文件这一事实。所有 JAR 文件可能具有一个 META- INF 文件夹,它包含 MANIFEST.MF 文件,该文件可能包含引用其它 JAR 文件的类路径。通 过将一个其它模块作为一个项加入清单的类路径,当前模块可以利用其包含的类。还可以从 企业应用程序中将 JAR 文件添加到清单。对这个简单解决方案的唯一限制是,其它模块决不 能依赖于 Web 模块中的类,因为 Web 模块不是用位于其根处的类构建的。换句话说,模块 不可能使用清单以依赖 Web 模块中的类。

Application Developer 提供了更新清单文件的简单方法。在 Navigator 或 J2EE 视图 中的 J2EE 项目上单击右键,然后选择 Edit Module Dependencies。这会产生一个对话框( 参阅下面的图 2),它显示了一个复选框列表,其中包含这个项目可依赖的所有其它模块和 JAR 文件。通过选择列表中的模块或 JAR 文件,可以同时更新清单和构建路径。这确保清单 和构建路径总是同步的,并且提供了更改您项目相互依赖性的更简便方法。

图 2. 编辑模块相互依赖性对话

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号