最近项目写了个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 --> Update Project,即可在target/test-classes 出现编译的测试类
解决方法三:
在要测试的java类里,编辑,如写个空格,然后保存,即可在target/test-classes 里出现编译的测试类,再运行测试即可,简直简单粗暴有木有!!!
本文介绍了在Maven项目中遇到ClassNotFound异常的原因及三种解决方案,包括通过Maven测试、更新项目和简单修改来确保测试类正确编译。

8680

被折叠的 条评论
为什么被折叠?



