当前位置: 首页 > 知识库问答 >
问题:

如何在weblogic中指定JAR类加载的顺序

仲孙华奥
2023-03-14

我有一个EAR文件,其中包含两个不同的jar,它们共享一些具有相同package.class名称的类。这些JAR部署在我的APP-INF/lib目录中。

假设A jar包含最新版本的类,B包含旧版本的类。当引用一个类时,Weblogic首先查看B jar并加载破坏某些功能的旧版本。

如何让Weblogic从APP-INF/lib中先加载jar A再加载B?我需要定义一个特定的顺序,以避免加载旧类。

我已经尝试过在

耳朵结构:

EAR
\--->A.jar
\--->webapp.war
.....

weblogic-application.xml:

<classloader-structure> 
    <module-ref> 
        <module-uri>A.jar</module-uri> 
    </module-ref> 
    .......
 </classloader-structure>

但随后它抛出了错误的说法

weblogic.management.DeploymentException: classloader-structure element in weblogic-application.xml is referencing the module-uri A.jar which does not exist in this application.

还要记住的是,A. jar不是模块、war或EJB,它只是一个普通的Hibernate库:hibernate-jpa-2.0-api-1.0.1。Final.jar

我使用的是Weblogic 12c版本。


共有1个答案

施翰学
2023-03-14

您需要为类加载器设置父上次策略,请参阅http://www.rgagnon.com/javadetails/java-0551.html,我记得weblogic server中也有一个GUI来执行同样的操作。

 类似资料:
  • 我有一个EAR文件,其中包含两个不同的JAR,它们共享一些具有相同包类名的类。这就导致了在EAR文件内部加载类的重要性。 如何告诉Weblogic在同一APP-INF/lib中加载不同的jar之前从APP-INF/lib加载一个jar?我需要定义一个特定的顺序,如果有冲突,它将从JAR a而不是JAR b。 我使用的是WebLogic 11g(10.3)。 谢谢

  • 问题内容: 我对CSS和属性有些困惑。我一直认为,在属性值中指定多个类的顺序具有一定的意义。后一类可以/应该覆盖前一类的定义,但这似乎不起作用。这是一个例子: 我希望第三个示例使用蓝色边框,因为额外指定的边框会覆盖基本边框。 我在ubuntu 9.04上使用FF 3 问题答案: 属性被覆盖的顺序不是由类在属性中定义的顺序决定的,而是由它们在CSS中出现的位置决定的。 在该文本将出现,而不是; 因为

  • 问题内容: 我在其他地方找不到这个问题的明确答案,因此我将在这里尝试: 是否有某种方法(以编程方式或其他方式)来获取Application Classloader加载时所加载的JAR /类列表的确切顺序?应用程序类加载器,我是指在应用程序服务器(WLS,WAS,JBoss …)中加载EAR应用程序的类加载器,但显然,它适用于任何类加载器。 因此,概括地说,我想找出的是由指定类加载器加载的JAR的列

  • 想知道在StanfordCorenlp中是否有一种方法来加载特定的分类器。我试图解决一个问题,其中3个分类器在默认情况下被加载,第三个分类器不可靠地返回ner标记,并导致应用程序中的不一致性。想知道加载English.all.3Class对于基本的命名实体标记足够好,以及下面列表中其他两个的相关性是什么。 edu/stanford/nlp/models/ner/english.all.3class

  • 问题内容: 我刚刚解决了另一个我虽然正在使用此版本的图书馆,但显然我的应用服务器已经加载了旧版本的-此库-问题(叹气)。 有人知道一种验证(或监视)您的应用程序是否有权访问所有适当的jar文件或已加载的类版本的好方法吗? 提前致谢! [ 在我看来,PS是开始使用OSGi模块体系结构的充分理由!] 更新 :此文章帮助的!通过将JBoss的类加载器写入日志文件,它使我了解了哪些类加载。 问题答案: 如