0

当我尝试部署 Spring Web 服务(jax-ws)应用程序时,我发现 Jboss 和 xerces jar 文件存在冲突。这是错误。

09:58:50,852 ERROR [JBossContextConfig] XML error parsing: context.xml
org.jboss.xb.binding.JBossXBRuntimeException: Failed to create a new SAX parser

经过一些技术论坛,发现这是jboss服务器中的一个错误。这是该错误报告的链接。它说从 lib 文件夹中删除 xercec.jar。

但是如果我删除 xerces jar,服务器会给出一个 spring 错误,因为我认为我的应用程序需要 xcerces jar 来解析 applicationContext.xml 中的一些特定 xml sysntaxes。这是弹簧错误。

09:14:38,175 ERROR [org.springframework.web.context.ContextLoader] Context 
initialization failed: org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name 
'com.sun.xml.ws.transport.http.servlet.SpringBinding#0 defined in ServletContext 
resource [/WEB-INF/applicationContext.xml]: Cannot create inner bean '(inner bean)'
of type [org.jvnet.jax_ws_commons.spring.SpringService] while setting bean property 
'service'; nested exception is org.springframework.beans.factory.BeanCreationException: 
Error creating bean with name '(inner bean)': FactoryBean threw exception on object
creation; nested exception is java.lang.LinkageError: loader constraint violation: when     
resolving field "DATETIME" the class loader (instance of 
org/jboss/classloader/spi/base/BaseClassLoader) of the referring class, 
javax/xml/datatype/DatatypeConstants, and the class loader (instance of <bootloader>) 
for the field's resolved type, loader constraint violation: when resolving field 
"DATETIME" the class loader

它包含以下 xml sysntax。

<wss:service>
        <ws:service bean="#helloWs"/>
</wss:service>

我认为服务器会抛出那个spring错误,因为jboss xml解析器无法识别这个涉及创建spring内部bean的特定xml sysntax。(bean =“#helloWs”)。所以我认为用 xercess xml 解析器覆盖现有的 Jboss xml 解析器就可以了。我的问题是怎么做?也欢迎对此问题提出任何替代建议。

提前谢谢大家。

仅供参考:相同的应用程序在 glassfish 服务器 3.x 中运行顺利(无需任何修改) :) 但我需要在 Jboss 服务器中部署它。

4

1 回答 1

1

我也遇到过这个问题。就我而言,解决方案是从我的应用程序中删除 Xerces,但您需要它。

可以在此处找到“从您的应用程序中删除 xercers”的替代解决方案。

于 2012-06-27T07:07:04.937 回答