Java 如何配置JBOSS在web应用程序中使用xml库?

Java 如何配置JBOSS在web应用程序中使用xml库?,java,jboss,Java,Jboss,JBOSS正在抛出一个: java.lang.NoSuchMethodError: org.w3c.dom.Document.getDocumentURI()Ljava/lang/String; java.lang.NoSuchMethodError:org.w3c.dom.Document.getDocumentURI()Ljava/lang/String; 加载wsdl时出错。我可以将其配置为更喜欢WAR中的库而不是系统或应用程序服务器库吗?应用程序服务器应该已经使用了WEB-INF/lib

JBOSS正在抛出一个:

java.lang.NoSuchMethodError: org.w3c.dom.Document.getDocumentURI()Ljava/lang/String; java.lang.NoSuchMethodError:org.w3c.dom.Document.getDocumentURI()Ljava/lang/String; 加载wsdl时出错。我可以将其配置为更喜欢WAR中的库而不是系统或应用程序服务器库吗?

应用程序服务器应该已经使用了
WEB-INF/lib
中的任何JAR,除了系统和应用服务器库路径之外,标准方法是
WEB-INF/lib
的类加载器将类加载委托给应用服务器库,这将类加载委托给服务器库,并且只有当父类加载器找不到类时,它才会尝试加载自己的类

换句话说,如果将同一个类放在
WEB-INF/lib
和应用服务器的lib中,则将始终使用后一个JAR。这意味着在
WEB-INF/lib
和应用程序服务器的lib中都有名称相同但版本不同的类,这可能会造成冲突-您确定这不是问题的原因吗?你能解决冲突吗


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

我最终解决了这个问题,将我的spring ws库降级到1.0.4版本,该版本适用于JBOSS 4.0.2服务器。我在JBOSS上做了很多类加载器研究:这有助于理解和解决问题。