当我尝试部署 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 服务器中部署它。