我抛出了间歇性链接错误:(这基本上是我拥有的所有信息)
java.lang.LinkageError loader constraint violation:
when resolving field 'service' of the class loader instance of
java/net/FactoryURLClassLoader) of the referring class
org/apache/axis/client/Stub, and the class loader (instance of
weblogic/utils/classloaders/ChangeAwareClassLoader)
for the field's resolved type, java/xml/rpc/Service,
have different class objects for that type
或者以更易读的方式
异常: java.lang.LinkageError
- 字段:
服务
- CL 实例:
java.net.FactoryURLClassLoader
- 引用类:
org.apache.axis.client.Stub
- 第二个 CL 实例:
weblogic.utils.classloaders.ChangeAwareClassLoader
- 字段的解析类型:
java.xml.rpc.Service
- 字段:
这是否意味着我加载了 2 个版本的 java.xml.rpc.Service?是这样吗?怎么会这样呢?有什么方法可以解决吗?
最佳答案
Does this mean that I have 2 versions of java.xml.rpc.Service loaded? Is that so?
是的。
How can that happen?
当您有两个类加载器都加载同一个类时,就会发生这种情况。在您的情况下,类加载器是不同 ClassLoader 类的实例:
java.net.FactoryURLClassLoader
和
weblogic.utils.classloaders.ChangeAwareClassLoader
what is the way to resolve it?
我不是 Weblogic 用户,但理论上的解决方案是将包含相关类的 JAR 文件放入上述两个类加载器的共同祖先类加载器的类路径中。
关于java - 如何解决此 Weblogic 间歇性 java.lang.LinkageError?理解其含义并解决它的步骤是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9997212/