`
qinjingkai
  • 浏览: 259850 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

web工程之启动时spring的dtd错误

阅读更多

    从服务器上(这里指svn,cvs等版本控制工具)check out之后,写好自己负责的业务逻辑之后,发布到应用服务器(tomcat) ,发生了莫名其妙的错误;错误的信息如下:

 

2009-7-16 14:18:22 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [newspweb-lib.xml]; nested exception is java.net.ConnectException: Connection refused: connect
java.net.ConnectException: Connection refused: connect

    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.PlainSocketImpl.doConnect(Unknown Source)
    at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
   )

也没什么特别的提示,从提示的英文看上去貌似什么网络出了问题,socket什么什么的;上百度搜索了一下,解决的方法可谓五花八门,但是到头来没一个是可以搞定的;有些就说spring在启动的时候先从applicationContext文件里面声明的网络地址(如http://www.springframework.org/dtd/等)去找,如果网络上找不到(如你电脑不能上网;或公司对网络有限制,我们公司就这样,比较恶心),就到本地文件来找,这里的本地就是spring.jar这个包里面的文件;其实我发现完全 不是那么一回事,我认为spring根本就没有上网找,而是直接从本地(在包spring.jar解压后得到目录下spring\org\springframework\beans\factory\xml\spring-beans****.dtd路径下可以找到)里面找搞了半天终于找到解决的方案原来是spring配置文件的dtd出了问题

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dt

替换成

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

之后 ,问题得到了解决;归根结底就是Eclipse的插件版本的问题,这些问题真的很隐蔽,提示也很模糊,让你 哭笑不得,在这里总结一下,顶!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics