在weblogic中引用用于EAR应用程序的共享Java EE库

我已经在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

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

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

请帮助我如何在我的耳朵应用程序中使用共享库。 我正在使用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服务器将使用共享库中的类。

希望有所帮助。 问任何你不了解的评论。 :)

链接地址: http://www.djcxy.com/p/71609.html

上一篇: Referring shared Java EE library for EAR application in weblogic

下一篇: Ruby EventMachine testing