初接触maven,maven的路径和常规的eclipse项目不是很一样,Java文件放在src/main/java目录下,test文件放在src/test/java目录下,常规的测试方式是使用mvn test进行单元测试,但是使用eclipse习惯了,直接在IDE中进行测试的时候,报异常了,class not found exception。
刚开始查,以为是构建路径的问题,因为在看maven的时候网上有人说要设置eclipse的buildpath,然后改过来改过去的,但是有时候好有时候坏,很是郁闷,感觉问题不在此。再仔细一琢磨,既然是class Not found,那就去找找这个class文件看看目录对不对啊,这一找就找到原因了,根本就没有这个类,也就是说,这个java文件根本就没有编译成class文件。在eclipse中,是可以自动帮我们编译的,但是我们在maven中运行了mvn clean命令后,就将编译好的class文件清理掉了,这时候如果用maven进行测试,运行mvn test,maven会自动帮你再编译一遍,测试就可以正常运行。但是直接在eclipse中的话,eclipse找不到编译好的class文件,当然就会报异常了。解决办法就是运行命令mvn test进行测试,这次测试通过之后,只要你没有再运行mvn clean,那么在eclipse中直接运行单元测试,也是可以通过的。
这次总结到的经验教训:有些问题,不要着急上网查,自己多琢磨一下为什么会报这样的异常,往深层次的原因想一下,或许解决办法很简单。