加载我的应用程序弹簧上下文时,我收到以下错误(仅在Linux机器上,在Windows上似乎以某种方式工作):
无法读取架构文档 ' http://www.springframework.org/schema/tool/spring-tool-4.1.xsd&#39 ;, 因为 1)找不到文件; 2)文件不可能 读; 3)文档的根元素不是xsd:schema。
Stacktrace如下:
org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [META-INF/spring/score/context/scoreRepositoryContext.xml]
2015-03-30 11:07:49:336 127901 [main] WARN org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Ignored XML validation warning
org.xml.sax.SAXParseException; systemId: http://www.springframework.org/schema/tx/spring-tx.xsd; lineNumber: 12; columnNumber: 150; schema_reference.4: Failed to read schema document 'http://www.springframework.org/schema/tool/spring-tool-4.1.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not xsd:schema.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(ErrorHandlerWrapper.java:99)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:433)
at
...
at org.springframework.shell.Bootstrap.main(Bootstrap.java:58)
Caused by: java.net.ConnectException: Connection timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
知道为什么会这样吗?
答案 0 :(得分:5)
问题几乎肯定是Spring库版本问题。
Update your Spring libraries on the Linux machine:
确保没有任何冲突的罐子(不同的弹簧 类路径上的版本)。如果使用spring 3.0则应该没有 大胖spring.jar(春天2.5和之前)。接下来,如果你是 创建一个包含所有包的超级jar,确保你复制 xsd文件也。
[信用:Marten Deinum(如上所述),Tristan和Michael Lee通过删除网络连接检查建议来改进此答案。]