spring と JAX-WS を使用して Web サービス クライアントを作成しているときに、次のエラーが発生します。
それについてたくさんグーグルで私が気づいた
これは、古いバージョンの JAXB (jaxb-impl:jar:2.1.3:compile) が原因で発生しています。このバージョンは、maven によって推移的にフェッチされ、競合が発生しています。
を使用して修正しようとしました
- JAXB 2.x を jre/lib/endorsed フォルダーに入れることで..しかし、助けにはなりません
- 推移的な依存関係フェッチを除外することで、この問題を解決できるかどうかを知りたいです。
- Maven に推移的な依存関係をフェッチしないように強制し、言及された依存関係のみを使用するように強制する方法を知る必要があります。
しかし、私のすべての試みは失敗しました..誰かがこの問題で私を助けてくれますか
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:107)
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at $Proxy21.isValidEmail(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:520)
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:494)
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.invoke(JaxWsPortClientInterceptor.java:481)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at $Proxy22.isValidEmail(Unknown Source)
at com.rosettastone.succor.webservice.EmailValidateClientImpl.main(EmailValidateClientImpl.java:15)
Caused by: java.lang.ClassCastException: com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.internal.bind.api.JAXBRIContext
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.<clinit>(SOAPFaultBuilder.java:533)
... 15 more