gpt4 book ai didi

java - weblogic上的多个类加载器问题

转载 作者:行者123 更新时间:2023-11-30 03:48:41 25 4
gpt4 key购买 nike

exception loader constraint violation: when resolving method "org.apache.hadoop.io.IOUtils.cleanup(Lorg/apache/commons/logging/Log;[Ljava/io/Closeable;)V" the class loader (instance of weblogic/utils/classloaders/ChangeAwareClassLoader) of the current class, org/apache/hadoop/hdfs/FileInputStreamCache, and the class loader (instance of weblogic/utils/classloaders/GenericClassLoader) for resolved class, org/apache/hadoop/io/IOUtils, have different Class objects for the type org/apache/commons/logging/Log used in the signature

我是在使用应用程序时得到的,而不是在部署耳朵时得到的。如果我理解这个问题,我有两个类加载器,它们有两个不同的日志记录对象?我怎样才能将他们俩推荐给一个?
编辑1
经过进一步调查,我认为这个错误是由于我们使用的是公共(public) jars 库,并且那里有另一个版本的 commons ,导致它们发生冲突。有没有办法指定weblogic使用特定的库而不是打包?我想进一步调查这个问题

最佳答案

您需要检查 WAR 文件的 WEB-INF/lib 目录,以确保它们不包含 EAR/lib 目录中也存在的 jar。

Web 应用程序在 EAR 文件中查找之前始终会使用 WEB-INF/lib 类。但是,从 EAR 加载的类只能看到 EAR 中的其他类。如果两个地方都有相同(或相似)的 jar 文件,这将导致类加载问题,如您所描述的。

关于java - weblogic上的多个类加载器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24952989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com