私は他のリンケージエラーを見ましたが、そのどれもがジャーで何ができるのかは述べていません。 Jbossでアプリケーションをデプロイするとうまくいきますが、アプリケーションをwebsphereにデプロイすると、このリンケージエラーが発生します。同様の問題は、ここで見つけることができます:LinkageError when calling webservice methodではなく、修正するために何をすべきかわからそれLinkageError:ローディングコンストレイン違反
は、主にそれが共有クラスJSP Webサービスを呼び出している私が持っているjavax/xml/soap/SOAPFault
Caused by: java.lang.LinkageError: loading constraint violation: loader "com/ibm/oti/vm/[email protected]" previously initiated loading for a different type with name "javax/xml/soap/SOAPFault" defined by loader "com/ibm/ws/classloader/[email protected]"
at com.ibm.oti.vm.VM.findClassOrNull(Native Method)
at com.ibm.oti.vm.BootstrapClassLoader.loadClass(BootstrapClassLoader.java:63)
at javax.xml.ws.soap.SOAPFaultException.<init>(SOAPFaultException.java:78)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:160)
at com.sun.proxy.$Proxy118.collectionsInquiryV2(Unknown Source)
でcom/ibm/oti/vm/BootstrapClassLoader
とcom/ibm/ws/classloader/CompoundClassLoader
からロードされました。 メッセージから、axis.jarからの唯一のjarファイルは、javax/xml/soap/SOAPFaultクラスが含まれています。
これは、axis.jarからSOAPFault.classを削除する必要があるということですか? (これは試しても動作しません。これが削除された場合、他のWebサービスは失敗します)
同じクラスを持つ2つのJarは、saaj.jarとaxis.jarではありませんでした。どちらもSOAPFault.classを含んでいます。問題は、それらを削除しても他のクラスで失敗する可能性があるため、どちらも削除できないということです。私はどのようにエラーを修正するか分かりません。 – logger
削除するとどのようなエラーが発生しますか?あなたが非常に非正統的なデプロイメント設定をしていないか、または奇妙なSOAPバージョンに頼っている場合を除き、アプリケーションに必要なSOAP APIクラスは、サーバーに付属のコピーを通して見ることができます。 – Jarid
ClassDefNotFound。私はそれらを削除する場合、他のクラスのために。 – logger