java - 在 weblogic 中为 EAR 应用程序引用共享 Java EE 库

标签 java weblogic

我在 weblogic 服务器中创建了一个包含一些 jar 文件的共享库,现在我有一个 EAR 应用程序,我想在 EAR 应用程序中的 Web 应用程序中使用共享库中的类文件。因此,我在 ear-app/META-INF/ 目录中创建了 weblogic-application.xml 文件,并使用以下标签引用了共享库:

<library-ref>
    <library-name>ebs_endeca_artifacts</library-name>
</library-ref>

但是当我试图访问我的应用程序中的类文件时,出现异常 java.lang.ClassNotFoundException

我还需要在耳朵级别引用共享库,而不是在单个 war 文件的 weblogic.xml 文件中声明。

如果我直接将相同的 jar 文件放在我的 ear-app/APP-INF/lib 目录中而不是使用共享库,那么我的应用程序可以正常工作,没有任何问题。

请帮助我如何在我的 ear 应用程序中使用共享库。我正在使用 weblogic server 10.3.6

我的共享库结构是这样的:

shared-web-app/WEB-INF/web.xml
shared-web-app/WEB-INF/lib/*.jar

最佳答案

您需要类路径中共享库中的 jar,因为在部署 EAR 之前,需要构建应用程序。 JDeveloper 不知道这些类存储在哪里,因此它需要位于 compile-time 的那些类.

准备部署应用程序时,您可以为可以在 WAR 中添加的文件创建过滤器/EAR/<whatever> .转到 Application Properties -> Deployment并选择您的部署配置文件。点击Edit按钮,系统会提示一个屏幕,您可以从中过滤构建应用程序时可以包含的文件/库。

如果您不在存档中包含共享库并且有来自 weblogic-application.xml 的片段您已发布,WebLogic 服务器随后将使用共享库中的类。

希望对您有所帮助。问任何你不明白的评论。 :)

关于java - 在 weblogic 中为 EAR 应用程序引用共享 Java EE 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16671757/

相关文章:

java - N-Queens 皇后是安全的无限循环

java - 在 oAuth2 资源服务器应用程序中使用@WithMockUser(与@SpringBootTest)

java - 吉斯与 parent

java - Weblogic 12cR2 Nodemanager native 库无法在 mac os x 上运行

java - 将 JMS TopicSession 转换为 AQjmsSession 时遇到问题

java - 当我们使用 servlet3 规范中提到的 AsyncContext 时,http 连接保持打开状态多长时间?

java - 加速 Apache Commons FTPClient 传输

java - Weblogic 12.1.3,Jersey 2.5.1,如何启用MultiPartFeature : WELD-001408 Unsatisfied dependencies for type [Providers]

java - 耳内Weblogic包部署方案

jakarta-ee - javax.命名.NameNotFoundException : While trying to lookup 'abc' didn't find subcontext 'abc'