我正在开发一个使用Jersey提供Web服务的项目,它依赖于JAXB 2.1。我必须添加一个从另一个Web服务获取数据的功能。在其他地方实现的方式使用Spring JaxWsPortProxyFactoryBean。
当Spring尝试初始化此bean时,它失败并显示:ClassCastException (com.sun.xml.bind.v2.runtime.JAXBContextImpl cannot be cast to com.sun.xml.bind.api.JAXBRIContext)
。
看来这是因为JavaSE6包含JAX-WS 2.0 API。
唯一的解决方案I have found建议将2.1 jars放在JRE背书目录中。这不是一个选项 - 我与其他应用程序团队共享服务器,所以我不能搞乱JRE。
有没有人知道让Spring使用2.1罐的另一种方法?