从weblogic中的共享库中排除特定的jar文件

时间:2017-06-28 14:09:27

标签: shared-libraries dynamic-class-loaders

我有2个模块,一个是EAR文件,另一个是静态共享库。静态共享库已部署在服务器上。此静态库是在weblogic上作为库(而非应用程序)部署的jar文件的集合。

现在我需要在服务器上部署EAR应用程序,这个EAR应用程序引用静态库(通过它的weblogic.xml中的引用)

问题是EAR应用程序和静态库都有一个常见的jar,我希望加载来自我的EAR的jar(因为它是更高版本)但不幸的是Weblogic加载来自共享库的jar而不是来自EAR文件。

如果在与EAR和共享库中的jar发生冲突的情况下,我可以告诉weblogic服务器,排除来自共享库的某些jar并使JAR(来自EAR)优先于来自共享库的jar ?

我尝试查看weblogic文档,但没有看到在类加载时指示WLS的正确解决方案。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以在weblogic-application.xml

中尝试此操作
<prefer-application-packages>
    <package-name>antlr.*</package-name>
</prefer-application-packages>

或者您可以拥有两个共享库,并在您的耳朵中定义您的耳朵必须使用哪一个也可以在weblogic-application.xml

中使用它
<library-ref>
    <library-name>NAME_OF_YOUR_LIB</library-name>
    <specification-version>VERSION_TO_USE</specification-version>
    <exact-match>false</exact-match>
</library-ref>