【问题标题】:Java EE Application porting - Oracle 10g AS to Oracle 11g Weblogic serverJava EE 应用程序移植 - Oracle 10g AS 到 Oracle 11g Weblogic 服务器
【发布时间】:2011-08-25 04:26:52
【问题描述】:

我正在将 Java EE 应用程序从 Oracle 10g Application Server 移植到 Oracle 11g Weblogic Server。

我有一个 common.jar,其中包含与 Connection 相关的类并存在于 war/web-inf/lib 中。该应用程序被部署为 EAR,并且 ejb 还引用 common.jar 中的类以获取 DB Connection。 EJB 无法在运行时获取对这些类的引用。我复制了 APP-INF/lib 目录中的 common.jar,在这种情况下,JSP 无法获取对 Connection 相关类的引用。我有 jsp,其中嵌入了 sql 代码。此应用程序是在很久以前开发的,现在没有业务知识更改这些代码。

我该如何解决这个问题? ejb 如何获得对位于 war/web-inf/lib 中的类的引用。

【问题讨论】:

    标签: weblogic11g


    【解决方案1】:

    您不能让 EJB 查看 WAR WEB-INF/lib 中的类。这与 Weblogic 的 Classloader Hierarchy 背道而驰。

    把普通的jar放到APP-INF/lib中才是正确的做法

    WebLogic Server 在 EAR 文件中提供了一个位置,您可以在其中 存储共享实用程序类。将实用程序 JAR 文件放在 APP-INF/lib 目录和 APP-INF/classes 中的各个类 目录。 (不要将 JAR 文件放在 /classes 目录中或 /lib 目录中的类。)这些类被加载到根目录中 应用程序的类加载器。

    您能否也发布 JSP 在无法加载这些错误时遇到的错误?这些是ClassNotFoundExceptionNoClassDefFoundError 还是别的什么?

    另见Best practices for using Shared Java EE Libraries

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-28
      • 1970-01-01
      • 2020-11-30
      • 2013-11-10
      • 2012-05-12
      • 1970-01-01
      • 2018-05-22
      • 1970-01-01
      相关资源
      最近更新 更多