【问题标题】:How do you configure JBOSS to use the xml lib in the web app?如何配置 JBOSS 以在 Web 应用程序中使用 xml 库?
【发布时间】:2009-02-04 22:59:22
【问题描述】:

JBOSS 正在扔一个:

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

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

【问题讨论】:

    标签: java jboss


    【解决方案1】:

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

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

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

    【讨论】:

    • 我最终通过将我的 spring-ws 库降级到与 JBOSS 4.0.2 服务器一起工作的 1.0.4 解决了这个问题。我确实对 JBOSS 做了很多类加载器研究:jboss.org/community/docs/DOC-9288,这有助于理解和解决问题。
    猜你喜欢
    • 1970-01-01
    • 2013-08-21
    • 2021-03-21
    • 2012-08-13
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多