使用spring获取错误消息“cvc-elt.1:找不到元素’beans’的声明。”

我正在尝试设置一个简单的spring应用程序,我得到以下exception。 这是在eclipse indigo中独立运行的。

Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: Line 2 in XML document from class path resource [context.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'. org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) 

这是我的代码的初始部分:

 public static void main(String[] args) { try { BeanFactory beanfactory = new ClassPathXmlApplicationContext( "context.xml"); FirstBean bean = (FirstBean) beanfactory.getBean("show"); 

这是我的context.xml文件:

            

你确定在类路径上有spring-beans吗?

此错误通常意味着它无法找到spring.schemas (在spring-beans.jarspring-beans.jar解释该命名空间的含义。

其他选项是Maven Shade插件损坏了spring.schemas ,但由于你没有提到Maven,所以情况不太可能。

也许这篇文章可以帮助你:

在Internet脱机模式下找不到元素’beans’的声明

这似乎是Schema配置的问题。

maven shade插件似乎取代了jar中的spring.schemas文件,因此使用每个jar中的所有单独的spring.schema内容创建我们自己的一个应该可以解决问题。

当我在STS中遇到这个问题时,我刚刚清理了项目并且它有效。

可能存在Spring Bean版本和xsd定义不匹配的可能性。

例如bean xsi:schemaLocation =“http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework。 org / schema / mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema /beans/spring-beans-3.2.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd http:// www。 springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema /context/spring-context-3.0.xsd

而春季版则是3.0.5-Release

检查类路径版本并保持相同。 建议立即进行删除