程序员在旅途

用这生命中的每一秒,给自己一个不后悔的未来!

0%

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生成目录)
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字节码文件即可。