我真的很绝望为什么会发生这种异常?我在班级MyTestIT
中进行测试。什么课没有找到?我跑的班级......我试图在日食中再次清理并建造它,但没有成功
Class not found it.mytest.MyTestIT
java.lang.ClassNotFoundException: it.mytest.MyTestIT
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:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:685)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:421)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
PS:我忘记添加它是全职工作。但今天我只是打开eclipse,我不能在这里进行测试。随着maven,它仍在工作
答案 0 :(得分:4)
看起来像某种奇怪的日食问题,对我们来说很难诊断,但蛮力方法将是这样的: 如果您的项目中有maven,只需从eclipse工作区删除项目(不要删除文件),然后从命令行执行:
mvn clean install eclipse:clean eclipse:eclipse
然后将现有项目重新导入到Eclipse工作区。这个程序后应该可以正常工作。
修改
启动测试并切换到Debug透视图。您将在Debug视图中看到最近的启动。选择它并转到其属性(快捷方式:Alt + Enter)。在"命令行"您应该看到Eclipse用于启动单元测试的确切命令。检查classpath看起来没问题。它可能只是一些奇怪的日食项目设置。 Maven将使用不同的类路径来运行测试,可能是Eclipse正在错误的目录中查找您的单元测试。如果你的类在classspath中,那么它必须工作。
答案 1 :(得分:1)
从Eclipse项目中删除以下文件/文件夹:
的.project 的.classpath .settings
然后使用"导入 - >重新导入项目现有的Maven项目"。
这应该与Peter的答案具有相同的效果,除了不需要去命令行。
答案 2 :(得分:0)
你能把MyTestIt
课程放在这里吗?如果没有,请尝试查看您的代码是否存在其中一个问题。
https://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html
答案 3 :(得分:0)
我在同时使用Eclipse和mvn
- 在命令行上同时处理项目时遇到了这个问题。
命令行启动的mvn clean
删除了{J} JUnit支持所依赖的./target/
目录,以查找已编译的JUnit测试类。
我首先从命令行运行ClassNotFoundException
来解决基于Eclipse的mvn test
。从那时起,Eclipse再次找到了测试类。
答案 4 :(得分:0)
检查项目是否正确构建。您可以在“问题”标签中进行检查(Windows->“显示视图”->“问题”)。如果您看到“由于某些错误而无法构建项目”。然后首先尝试解决错误。
检查您的Project / bin文件夹是否具有.class。如果没有,那么该项目将无法正确构建。
进行清理构建。确保具有junit类的项目没有构建错误。
答案 5 :(得分:0)
这是一个常见问题,即junit测试可以从maven成功运行,而不能从Eclipse junit测试运行器运行。
一种解决方案是将相对较新的junit jar的外部本地副本手动添加到Eclipse类路径的顶部 在项目属性构建路径或单元测试运行时配置中。例如:
现在,您应该能够右键单击测试并成功运行为junit test。
据称此问题已在2017年“光子”中被修复为月食错误:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=525844
然而,在2018/2019年仍有数十篇文章还在发生。
上面的修复是一种变通办法,即hack Eclipse用户不是应该知道的标准配置设置。
其他一些变通办法hack对我不起作用:
答案 6 :(得分:0)
如果此问题仅在 Eclipse 中发生,在选定的项目上执行命令 Project -> Clean... 可能会有所帮助。