maven中运行junit4报测试类class not found错误解决方案

时间:2023-01-20 18:32:41
最近项目写了个httpClient测试类,碰到了class not found问题,这里做个总结:

maven项目 clean run 后,在maven项目的src/java/test编写了一个 HttpClientTest
直接方法右击运行Run As —> Junit Test,报错
Class not found com.ljw.portal.httpclient.HttpClientTest
java.lang.ClassNotFoundException : com.ljw.portal.httpclient.HttpClientTest

明明编写了类,为什么会出现class not found错误呢,肯定是没有编译成功。
于是尝试project—>clean—>重新编译,运行 HttpClientTest类 ,还是报刚才的错。
查阅资料得知,其实在maven项目里要运行Junit,必须在 target/test-classes 找到对应的编译类。
解决方法一:
在pom.xml文件中,Run As —>  Maven test
会发现在target/test-classes能找到编译的测试类HttpClientTest.class
console中也可以看到运行maven test的相关信息或错误,在surefire-reports文件夹也可以找到编译的信息。这样再运行就可以了。
控制台Maven test 后的结果:
maven中运行junit4报测试类class not found错误解决方案
maven中运行junit4报测试类class not found错误解决方案

解决方法二:
    重新右键点击 Maven --> Update Project,即可在target/test-classes 出现编译的测试类

解决方法三:
 在要测试的java类里,编辑,如写个空格,然后保存,即可在target/test-classes 里出现编译的测试类,再运行测试即可,简直简单粗暴有木有!!!