Spring动态模块 - 在将osgi包部署到IBM Liberty时解析异常

时间:2017-09-12 03:37:50

标签: spring dynamic osgi blueprint-osgi eclipse-gemini

在将SPRING DM OSGI软件包部署到IBM Liberty时,我收到了以下解析异常。

  

引起:   org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException:   来自URL的XML文档中的第2行   [bundentry://240.fwk843512726/WEB-INF/applicationContext.xml]是   无效;嵌套异常是org.xml.sax.SAXParseException;的systenId:   http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd;电话号码:   2; columnNumber:35; s4s-elt-character:非空白字符   除了'xs:appinfo'之外的架构元素中不允许使用   'XS:文档'。看到'301永久移动'。

导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:1)

如果你使用"遗产" Spring DM,然后是"蓝图"命名空间不是您应该使用的。此xsd未打包在容器的包中:SpringDM尝试从网络下载它,并且某些代理/ Web服务器发送HTTP重定向(301),这不是有效的xsd文档..

使用SpringDM,您应该只使用Spring命名空间。

但是,SpringDM现在已经过时,不应该使用。您可以使用Blueprint或更好的Declaratives Services。

您可以使用两种Blueprint实现:Aries-Blueprint或Gemini Blueprint(支持Spring 4.3,Blueprint,与SpringDM或多或少兼容)