【问题标题】:Weblogic 10 shared library not showing up in referencing appsWeblogic 10 共享库未显示在引用应用程序中
【发布时间】:2010-01-26 15:45:50
【问题描述】:

在 WebLogic 10.0 上,我使用 WLS 的“共享 J2EE 库”(http://download.oracle.com/docs/cd/E11035_01/wls100/programming/libraries.html) 功能对一些需要在多个耳朵中访问的 jar 进行分组。这些 jars 驻留在系统类路径中,我尝试将它们从那里移动到共享库中。

我的问题是:

  • 在 WLS Web 管理控制台中,单击 Deployments 下的共享库(名为“theSharedLib”)
  • “引用此库的应用程序”列表为空
  • 我也可以使用 weblogic.Deployer 取消部署该库,但在下次重新启动服务器时,它会抱怨在加载引用应用程序时缺少引用的库

所以似乎在启动时引用生效,但在运行时 WLS 不知何故忘记了这一点(我需要一些魔术吗?)。

我也可以做到这一点:

  • 取消部署 theSharedLib(不抱怨)
  • 取消部署 someReferenceApp (ok)
  • 部署 someReferenceApp(错误!缺少库)
  • 部署SharedLib(好的)
  • 部署 someReferencingApp(好的;应用程序在 Web 控制台中列出;但是在下次重新启动时,或在随机其他部署之后,列表再次变为空)

分解目录格式的共享库ear结构:

  • 元信息
    • 清单.MF
    • application.xml
    • (我需要以罐子的形式分享的东西)
  • dummyejb.jar(因为它必须包含一些东西)

MANIFEST.MF 包含:
..
扩展名:theSharedLib
规格-版本:1.0
实施版本:1.0.0
..

application.xml 包含基本元素(一个 dummyejb ejb 模块)。

引用应用的结构:

其中包括 META-INF/weblogic-application.xml,包含:




theSharedLib
1.0规范版本>
1.0.0
真精确匹配>

应用程序>

可能是什么问题?我是否应该在共享库或引用应用程序中做任何其他事情,以 (1) 正确设置引用列表,最重要的是 (2) 在应用程序之间共享 jar?

我假设 lib 中的共享 jar 是使用共享 lib 中每个应用程序的相同类加载器加载的,其行为非常类似于 sys 类路径行为。您能否也确认一下?

谢谢!

【问题讨论】:

  • 很抱歉(因为您花时间输入了一个冗长的问题),但目前尚不清楚您的共享库是否实际上部署得很好。你能澄清一下问题吗?
  • @Pascal:是的,我使用 weblogic.Deployer ... -library 成功部署了共享库。在 Web 控制台中,已部署库的状态为“库”。在未部署共享库的情况下,引用应用程序在域启动时会抱怨并获得“新建”状态,但即使已部署共享库,也会看到所描述的效果。
  • 很奇怪,事情看起来不错。 MANIFEST.MF 中是否引用了 lib 中的 JAR?
  • @Pascal:不,他们不是,不是吗?在哪个清单文件中,共享库或应用程序(以及如何)?能否请您扩展一下?

标签: deployment jakarta-ee weblogic shared-libraries classpath


【解决方案1】:

感谢您的信息。其实这是我发现的:

1) 如果引用应用程序在部署时失败,引用应用程序的列表将从 Web 控制台中消失(奇怪 - 也许它有更深层次的原因,但现在这很一致)。

2) 不幸的是,共享库中的类是由不同引用应用程序的类加载器加载的,因此无法共享例如接口类以用于应用程序间通信。

【讨论】:

  • 我们不能将接口定义共享到共享库中是真的吗?这看起来不对 JEE 共享库的全部意义在于重用?
【解决方案2】:

我认为共享库(它是一个 EAR)的 MANIFEST.MF 应该包含一个 Class-Path 条目,引用库中的 JAR(这告诉类加载器在哪里寻找类)。像这样的:

Class-Path: lib/foo.jar lib/bar.jar lib/foobar.jar

【讨论】:

    猜你喜欢
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多