0

JBOSS 正在抛出一个:

java.lang.NoSuchMethodError: org.w3c.dom.Document.getDocumentURI()Ljava/lang/String;

加载 wsdl 时出错。我可以将它配置为更喜欢我的 WAR 中的库而不是系统或应用服务器库吗?

4

1 回答 1

1

应用程序服务器应该已经在使用任何 JARWEB-INF/lib以及系统和应用程序服务器库路径 - 标准方法是用于WEB-INF/lib将类加载委托给应用程序服务器库的 ClassLoader,它将类加载委托给服务器库,并且只有当父类加载器找不到该类时,它才会尝试加载它自己的类。

换句话说,如果你把同一个类WEB-INF/lib和应用服务器的 lib 放在一起,后面的 JAR 就会一直被使用。这意味着可以通过在应用服务器的库和应用服务器的库中使用具有相同名称但不同版本的类来创建冲突WEB-INF/lib- 您确定这不是导致您的问题的原因吗?你能解决冲突吗?

一些应用服务器(不确定 JBoss,但我知道 WebSphere 允许)允许您配置类加载器,以便首先检查子加载器(子优先与父优先),但这种类型的配置可能会导致其他问题。

于 2009-02-05T00:02:11.073 回答