从svn上取下来的之前一直在开发的项目,因为项目我是中途接手的,所以同步下来,配置好tomcat,运行的时候报错。
Cannot find class [com.lhzxt.dhub.MyExceptionHandler] for bean with name 'exceptionHandler' defined in ServletContext resource [/WEB-INF/spring-servlet.xml]; nested exception is java.lang.ClassNotFoundException: com.lhzxt.dhub.MyExceptionHandler
我一瞧,哟,这是WEB-INF里的spring-servlet.xml中的一个类配置错了。找了找,在这:
<bean id="exceptionHandler" class="com.lhzxt.dhub.MyExceptionHandler"/>
查看是否路径出错,简便方法,摁住ctrl,右击这个路径,呵,它存在。我蒙圈。
这又是怎么回事呢?百度了一下,很多人都遇到这个问题了,有的改改路径,改为好的就可以用了。有的就是到最后都没有解决,成了历史中波澜不惊的一个过期页面。
百无聊赖中,又瞅了一眼项目,发现了这:这个红色的俩点肯定有问题,我决定刨根问底。
右击点开properties,查看jar包,有没有完蛋的。果不其然,,这个包已经完蛋,它不存在了。不管它背后有什么故事,都不重要了...说起来还有点伤感。
打起精神,查了一下它的作用,发现这个jar包版本还老。 推理了一下,应该是原项目主人发现jar包版本太老影响使用,所以找到更新版本了,把它干掉了,但是svn上传的时候没有上传----.classpath 配置文件。 跟着这个想法,去了这个jar包,然后 Add External JARs ... 从导出项目的lib文件夹了找到了它 mysql-connector-java-5.1.26-bin.jar,二话不说,导入,搞定。然后运行就ok了。
得,来个总结,遇到 Error creating bean with name,如果项目框架是没问题的,那么大体错误会出现在两个地方:
(1)xml文件中,对应id所写的文件路径出错。
(2).classpath配置出错,主要是jar包的引用出错。
又是一次没好的灵机一动,都是小问题,当然,若果能恰好解决你的问题,也不费我写这个。重在解决问题的思路。