如何解决此Weblogic间歇性java.lang.LinkageError?有什么步骤才能理解其含义并加以解决? [英] How do I resolve this Weblogic intermittent java.lang.LinkageError? What are the steps to understanding what it means and fix it?
问题描述
我抛出了一个间歇性的链接错误:(基本上是我所拥有的所有信息)
I have an intermittent linkage error thrown: (That's basically all the information I have)
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
或者以一种更具可读性的方式
Or in a more readable way
-
异常: java.lang.LinkageError
Exception: java.lang.LinkageError
- 字段:
服务
- CL实例:
java.net.FactoryURLClassLoader
- 上级课程:
org.apache.axis.client.Stub
- 第二个CL实例:
我们blogic.utils.classloaders.ChangeAwareClassLoader
- 字段的解析类型:
java.xml.rpc.Service
- field:
service
- CL instance:
java.net.FactoryURLClassLoader
- reffering class:
org.apache.axis.client.Stub
- 2nd CL instance:
weblogic.utils.classloaders.ChangeAwareClassLoader
- field's resolve type:
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? what is the way to resolve it?
推荐答案
解决方案最终是更新 weblogic-application。已部署应用程序的xml
文件
The solution was eventually to update the weblogic-application.xml
file of the deployed app
该应用程序使用了旧的 jaxrpc-api.jar
由于种种原因我们无法删除
The application used an old jaxrpc-api.jar
that we could not remove for various reason,
我们以前更喜欢内部jar的解决方案是这样(有更好的方法吗?)
The solution we used to prefer the internal jar was this (Is there a better way?)
<wls:prefer-application-packages>
...
<wls:package-name>java.xml.rpc.*</wls:package-name>
</wls:prefer-application-packages>
这篇关于如何解决此Weblogic间歇性java.lang.LinkageError?有什么步骤才能理解其含义并加以解决?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!