【发布时间】:2012-07-08 00:37:35
【问题描述】:
在 Eclipse 中运行 JUnit 测试时出现此错误:
Class not found com.myproject.server.MyTest
java.lang.ClassNotFoundException: com.myproject.server.MyTest
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
我尝试在类路径中添加JUnit 库,尽管我使用的是 maven,并且 JUnit 库位于 POM 依赖项中。
我已经尝试清理项目并使用适用于 Eclipse 的 JUnit 插件创建了一个新的 JUnit 测试用例,但仍然遇到同样的错误。
【问题讨论】:
-
在编译所有测试类后尝试运行
mvn clean test -
你能检查一下 com.myproject.server.MyTest 是否在 bin 文件夹中吗?我的意思是如果由于编译或构建路径错误而未编译,您将收到此错误。
-
你是在测试一个类还是整个项目?
-
在我的情况下,使用 Maven 运行测试是可行的,但是如果我右键单击一个测试类并选择 Run As -> JUnit Test,它会报告 ClassNotFoundException。我通过右键单击项目并转到 Properties -> Builders 然后将 Maven Project Builder 移动到 Java Builder 上方来修复它