快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

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

应该将 JAR 文件放在哪里?

如果仅在单个 Web 应用程序中使用 JAR 文件,则应该总是将 JAR 文件放在 Web 项目的 webApplication/WEB-INF/lib 文件夹中。这个文件夹中的 JAR 文件将自动添加到 Java 构 建路径,并且当移动到另一个服务器时,将不需要任何进一步的设置。

如果 JAR 文件由同一个应用程序中的多个模块使用,则将 JAR 文件放入企业应用程序中 。您将需要使用 Edit Module Dependencies 功能部件来设置清单文件和 Java 构建类路径 。

如果仍然想将 JAR 文件放置在全局类路径上,(我们强烈建议您不要使用这个方法)您 必须确定它是否应该放在全局类路径或 ws.ext.dirs 上。这个判定很简单。如果 JAR 文件 需要访问任何 J2EE 或 WebSphere 类或者已经添加到 ws.ext.dirs 中的任何其它 JAR,还 必须将它放置在 ws.ext.dirs 属性上。否则,您可以自由使用这两种属性。

最后要记住的一件事是 JAR 文件在路径中的位置越高,其包含的内容就越少。如果与 JAR 文件有牢固的相互依赖性,则更新使用该 JAR 文件的每个项目的 Java 构建路径。将它 添加到全局类路径或 ws.ext.dirs 属性还意味着,必须单独地从应用程序发布 JAR 文件, 并且当移动到另一个服务器时,必须再次设置服务器类路径。

使用一个全局类路径的唯一好处是次要的 ? 您可以在服务器上节省少量的磁盘空间。重 大的缺点是您的应用程序现在很脆弱,其他人可能更改您所依赖的类。例如,假设您依赖某 些第三方记录类,并且因为几乎所有应用程序都使用这些记录类,所以您决定在全局类路径 上部署它们。使用记录类的版本 1 来测试应用程序。六个月后,部署了另一个应用程序,它 需要记录类的版本 2,因此更新了日志记录 JAR。现在,您的应用程序运行在一个从来没有 测试过的环境中。

J2EE类装入揭密(4)

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

类还是 JAR?

您需要作出的另一个决定是使用松散类还是使用 JAR。使用松散类的一个很大的好处是容 易调试和部署它们。使用松散类,可以通过按 Ctrl-S 进行更改,如果它在可重装入的类路 径上(象 WEB-INF/classes ),则可以立即使用它。如果它不在一个可重装入的类路径上, 并且如果您正在使用 WebSphere Application Server,则只需要重新启动项目,然后就可使 更改生效了。要完成这个任务,在 Navigator 中的项目上单击右键,然后从弹出菜单中选择 Restart project。

如果您正在使用 JAR 文件,则还需要完成收集所有类和重构建 JAR 文件的其它构建步骤 。您的更改不能很快生效。使用 JAR 文件的好处是使部署更清晰一点,并且更接近期望的生 产环境。

如果处于项目的早期阶段,此时经常更改助手类,则您会发现使用松散类将更方便。如果 类仅由单个 Web 模块使用,则将类放入 WEB-INF/classes 文件夹。为了使用类,总是使用 包,因为当 Java 规范处理缺省包中的类时是不精确的。

如果类由 EJB 使用,则让您的一个 EJB 项目保留助手类(将它们放在 ejbModule 文件 夹下),让需要这些助手类的其它 EJB 模块依赖于该 EJB 项目。将您的所有助手类都收集 到单个 EJB 项目中,因为在项目之间不建立循环相互依赖性是 非常重要的。好的项目结构 规定相互依赖性必须始终采用树的形式。一旦助手类成熟并且没有太多更改时,就切换至 JAR 方法。

如果实用程序类由企业应用程序和常规 Java 应用程序共同使用将会怎样?最简单的方法 是使用这些类的 JAR。您可以用一个更复杂的替代方法:

创建一个简单的 Java 项目以存储实用程序类。

手工更新依赖于这个项目的项目 Java 构建路径。

手工更新服务器实例以包含简单 Java 项目的 bin 文件夹。

开发时类路径对比运行时类路径

在编译时,Java 编译器需要知道您的代码引

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号