spring加载beans找不到声明

遇到这种问题,首先当然是百度谷歌,如果实在不行,就看下载包里的文档,那个是最根本的

这个spring的官方技术文档在docs\reference\pdf 目录下,里面有spring的所有技术的文档,以及配置文件的格式,我在网上找了一些文档后,都没有解决我的问题,最后看了官方文档,以下是官方文档中的配置格式(我下载的版本是spring 2.5.6)


To switch over from the DTD-style to the new XML Schema-style, you need to make the following change.






The equivalent file in the XML Schema-style would be...




最终解决了我的问题,你们可以对比这里和我在网上搜的一些解决方法,在下面,





从错误信息和搜索结果可知:是spring定义文件中的配置信息错误或者缺失,本人的项目中只需要在base.spring.xml的文件头增加如下内容即可:

1 xml version="1.0" encoding="UTF-8"?>
2

ps:每个版本的定义有所不同,具体参考spring官方文档。



【转】Spring启动异常: cvc-elt.1: Cannot find the declaration of element 'beans'

今天把在线聊天室代码改了下, 想启动应用测试. 结果抛出一大堆异常:
--------------------------------------------------------
org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 4 in XML document from class path resource [applicationContext.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element 'beans'.

这就奇怪了.上午都还是好的. 突然说Spring配置文件不对. 根据异常说的: 就是'beans'没有定义. 这可能是命名空间有问题:
-----------------------------------------

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">


这定义是MyEclipse自动生成的. 应该不会有错吧.没办法, 只有上百度了. 几个网友也有我类似的问题. 其中一网友答案很是经典: Spring官网出了问题, 命名空间文件不能找到, 当然出问题了. 他的解决办法就是: 等Spring官网好了再试.

最后google了好几次才找到原因 

Java代码   收藏代码
  1. "http://www.springframework.org/schema/beans"  
  2.        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  3.        xsi:schemaLocation="http://www.springframework.org/schema/beans        
  4.        classpath:/org/springframework/beans/factory/xml/spring-beans-2.0.xsd"  
  5.              default-lazy-init="true">  


需要增加“classpath:/” 


在百度里找了很久, 没有找到解决办法. 上下Google找, 还不错, 找到了, 有位网友解决了此问题, 貌似很简单:
---------------------------------------------------------------------------------------------------------------------



原帖 http://www.jnan.org/archives/2010/12/cannot-find-the-declaration-of-element-beans.html 

引用

Spring配置文件xsi:schemaLocation无法解析导致启动失败的解决方案 

今天向服务器部署一个console java app之后,启动时发现程序出现异常: 
Exception in thread “main” org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 10 in XML document from class path resource [app-config.xml] is invalid; nested exception is org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration of element ‘beans’. 
然后去看看app-config.xml里的schema声明部分,是这样写的: 
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” 
xmlns:context=”http://www.springframework.org/schema/context” 
xsi:schemaLocation=”http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.0.xsd” > 
很明显,有关’beans’的声明都放在http://www.springframework.org/schema/beans/spring-beans-3.0.xsd里面了。可能是网络原因,访问不倒导致解析app-config.xml失败,致使程序抛出异常。 
打开spring-beans-3.0.1.RELEASE.jar一看,那个xsd文件就在org.springframework.beans.factory.xml包下面,这下子好办了,把xsd文件的引用全改为本地的就行了: 
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” 
xmlns:context=”http://www.springframework.org/schema/context” 
xsi:schemaLocation=”http://www.springframework.org/schema/beans 
classpath:/org/springframework/beans/factory/xml/spring-beans-3.0.xsd 
http://www.springframework.org/schema/context 
classpath:/org/springframework/context/config/spring-context-3.0.xsd” > 

你可能感兴趣的:(spring加载beans找不到声明)