`

maven中进行junit测试报class not found的问题

 
阅读更多

转:http://blog.csdn.net/ypc1109/article/details/7665976

初接触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中直接运行单元测试,也是可以通过的。

 

这次总结到的经验教训:有些问题,不要着急上网查,自己多琢磨一下为什么会报这样的异常,往深层次的原因想一下,或许解决办法很简单。

 

以上的为转载,我自己的验证过程:

1.首先dos窗口去到maven项目的文件夹下,该文件夹下有个pom.xml文件,如下:


D:\eclipseWorkspace\bbs7\branches\bbs7.0_pie_20130905>


 

再运行命令mvn test,如下:

D:\eclipseWorkspace\bbs7\branches\bbs7.0_pie_20130905>mvn test

maven就会把需要单元测试的类都编译好,放在上图中的target文件夹路径下,如:

 

 到现在为止,就可以直接在eclipse上右键运行单元测试了。

如果不想要单元测试的类,再运行mvn clean命令就会删除target文件夹。单元测试的时候,每修改一点东西都要mvn test一次,有点麻烦,maven这个缺点在eclipse上还没找到解决方案。

  • 大小: 186.3 KB
  • 大小: 130.7 KB
  • 大小: 112.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics