Spring DM,Rest,JAXB集成问题

时间:2012-09-21 11:51:43

标签: spring-mvc osgi

我正在使用Spring Rest with Spring DM(OSGi)。我需要使用JAXB进行编组/解组。当Model对象属于同一个项目时,我可以轻松地将JAXB与Spring一起使用。但是,当我尝试在OSGi(Spring DM)中做同样的事情时,我遇到了问题。因为我将模型对象保存到不同的包中,jaxb2Marshaller无法找到带注释@XmlRootElement的模型。

例外是:

  

org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:   来自ServletContext资源的XML文档中的第51行   [/WEB-INF/building-servlet.xml]无效;嵌套异常是   org.xml.sax.SAXParseException; lineNumber:51; columnNumber:52;   cvc-complex-type.2.4.c:匹配的通配符是严格的,但没有   可以在元素'tx:annotation-driven'找到声明

请为我建议一些解决方法。

2 个答案:

答案 0 :(得分:1)

这很可能与jaxb由于包含jaxb的jre而由系统包提供的事实有关。确保导入它的特殊版本,并确保已安装此版本。这可能会对你有所帮助。您可能还需要确保以正确的方式配置系统包导出的版本。为此,您需要更改etc文件夹中的jre.properties并将正确的版本设置为jaxb包。

答案 1 :(得分:0)

刚刚重新审视我的这篇文章。这个问题早就解决了。我使用了Spring的'Out Of The Box'JAXB Marshaller(org.springframework.oxm.jaxb.Jaxb2Marshaller)为我们编组和编组。对不起,我迟到了,谢谢你的关注。