Cannot find class [***] for bean with name '***' defined in file[***]
一,开发工具背景:
(更多内容,请参阅程序员在旅途)使用eclipse进行的项目开发,采用maven进行的项目构建,jdk 1.8,tomcat 8.5版本。项目结构如下图:
一,报错截图:
二,错误分析:
根据错误提示,应该是 相关的class 没有找到,确认Java类没有编程出错,各种XML配置文件没有配置出错,但是启动Tomcat加载项目的时候仍然报了此错误,就感到很奇怪。于是就去查看项目的classes目录下是否存在报错提示的那个class,一看才知道项目的classes目录竟然什么都没有,这下就明白出错的原因了,是项目没有正确的生成class。
三,解决思路:
1,查看classes生成目录:(右击项目,build path,看红色部分。由于是maven项目,直接查看项目结构也能知道classes生成目录)
2,打开classes目录,查看生成的class,发现目录下面是空的,这时候启动项目,就会报找不到class的错误。知道错误原因就好办了,按理说eclipse都会自动编译项目,不会因为这个原因导致出错,但工具也可能抽风,因此在我们写好程序运行却没有生成class文件时,需要手动执行这一操作。
3,在eclipse的Project中选择clean,勾选上Build Automaticly,把项目clean下,这时候运行,确定能不能正常运行,如果可以,bug结束。如果不行,右击项目,Run As -> maven clean,然后进行 Run As -> maven build ,输入Goals参数 mvn compile,应用。如果不行,多重复几次,直到target目录下正常生成 class字节码文件即可。