我面对的是websphere application server(8.5.5.14)中的LinkageError。这里发现了一个类似的问题LinkageError
由:javax:解析方法时违反加载约束"javax/xml/soap/SOAPElement.getElementQName()Ljavax/xml/namespace/QName;“:类"org/springframework/ws/soap/saaj/SaajSoapElement”的加载器"com/ibm/ws/classloader/CompoundClassLoader@19d4f90e“和类"javax/xml/soap/SOAPElement”的加载器"com/ibm/oti/vm/BootstrapClassLoader@ca532309“具有不同类型的方法签名
发布于 2021-05-14 21:40:00
问题的原因是在您的应用程序中包含了一个包含javax/ XML /namespace/QName的xml API jar,并且该应用程序被配置为使用父类加载。当发生这种情况时,您将获得以下链接模式:
这个类是从JDK
的加载约束
要解决这个问题,可以从应用程序中删除包含QName类的XML (该应用程序接口包含在服务器的JDK中),将SOAP API添加到应用程序中(以便应用程序“看到”来自同一位置的两个类),或者将类加载切换为“父优先”。父类加载通常容易受到此类问题的影响,因为它允许在类加载器之间进行比默认设置下通常可能的更多的重复加载。如果您对自己的XML API版本没有非常明确的需求(XML已经包含在Java SE中很长一段时间了),我强烈建议您要么删除jar,要么切换到父优先。
https://stackoverflow.com/questions/67532986
复制相似问题