最近项目写了个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 里出现编译的测试类,再运行测试即可,简直简单粗暴有木有!!!