有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

运行JUnit测试时未找到java类异常

在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)

虽然我使用的是maven,但我已经尝试在类路径中添加了JUnit库,JUnit库位于POM依赖项中

我已经尝试过清理这个项目,并使用JUnit插件for Eclipse创建了一个新的JUnit测试用例,但仍然遇到同样的错误


共 (6) 个答案

  1. # 1 楼答案

    这似乎是因为在使用mvn clean compile时只有源代码在编译(我使用的是maven 3.1.0,所以我不确定它是否总是这样)

    如果您运行mvn test,测试代码也会编译,但随后它会运行测试(如果您试图通过Eclipse运行测试,这可能不是立即需要的)解决这个问题的方法是在执行mvn clean操作时,将test-compile添加到Maven命令序列中。例如,您可以运行mvn clean compile test-compile

  2. # 2 楼答案

    在尝试了这里的一切之后,没有任何改进,我通过重新启动Eclipse解决了我的问题

  3. # 3 楼答案

    我通过运行maven更新修复了我的问题。 右键单击project your project>;马文>;更新项目

  4. # 4 楼答案

    我遇到了同样的问题,并且我能够使用@slomek的answer修复它,但是问题在那之后再次出现

    最后,我通过将项目的输出文件夹添加到JUnit测试的运行配置中来修复它。步骤如下:

    • Project properties -> Java Build Path -> Default output folder查找项目的输出文件夹
      • 通常这是<project-folder>/bin
    • 转到Run -> Run Configurations...
    • 单击单元测试的运行配置并单击Classpath选项卡
    • User Entries下显式添加项目的输出文件夹-即使项目已经包含在那里
      • 单击Advanced -> Add folder添加输出文件夹

    这个问题可能是由于Eclipse中奇怪的项目设置造成的——例如,源文件夹中嵌套的maven项目作为单个项目/文件夹导入(至少我的项目是这样设置的)

  5. # 5 楼答案

    如果此问题仅在Eclipse中发生,请执行命令Project->;清洁的对选定的项目可能有所帮助

  6. # 6 楼答案

    我在测试中遇到了类似的问题,并在Web的某个地方发现,您必须转到项目属性中的构建路径,并将Maven Dependencies移动到JRE系统库上方。这似乎对我有用