JBOSS は以下を投げています:
java.lang.NoSuchMethodError: org.w3c.dom.Document.getDocumentURI()Ljava/lang/String;
wsdl のロード中にエラーが発生しました。システムまたはアプリケーション サーバー ライブラリではなく、WAR 内のライブラリを優先するように構成できますか?
アプリ サーバーは、システムおよびアプリ サーバー ライブラリ パスと共に、内の JAR を既に使用している必要があります。これに対する標準的なアプローチは、ClassLoader がクラス ロードをアプリ サーバー ライブラリに委任し、クラス ロードをサーバー ライブラリに委任することです。親クラスローダがクラスを見つけられない場合にのみ、独自のクラスをロードしようとします。WEB-INF/lib
WEB-INF/lib
つまり、WEB-INF/lib
アプリサーバーの lib に同じクラスを配置すると、常に後者の JAR が使用されます。これは、名前が同じでも異なるバージョンのクラスを両方WEB-INF/lib
とアプリケーション サーバーの lib で利用できるようにすることで、競合が発生する可能性があることを意味します。これが問題の原因ではないでしょうか? 競合を解決できますか?
一部のアプリケーション サーバー (JBoss についてはわかりませんが、WebSphere で許可されていることは知っています) では、子ローダーが最初にチェックされるようにクラスローダーを構成できます (子優先と親優先) が、このタイプの構成では別の問題が発生する可能性があります。