当前位置: 首页 > 知识库问答 >
问题:

NoClassDefFoundError由以下原因导致:java。lang.ClassNotFoundException:junit。textui。结果过冬

任长卿
2023-03-14

在创建应用程序时,当我尝试在Android studio中运行测试时,会出现以下错误:

/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home/bin/java -ea -Didea.launcher.port=7533 "-Didea.launcher.bin.path=/Volumes/Android Studio 1.1.0/Android Studio.app/Contents/bin" -Dfile.encoding=UTF-8 -classpath "/Volumes/Android Studio 1.1.0/Android Studio.app/Contents/lib/idea_rt.jar:/Volumes/Android Studio 1.1.0/Android Studio.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/Carl/Library/Android/sdk/platforms/android-21/android.jar:/Users/Carl/Library/Android/sdk/platforms/android-21/data/res:/Users/Carl/AndroidStudioProjects/Sunshine-Version-3/app/build/intermediates/classes/test/debug:/Users/Carl/AndroidStudioProjects/Sunshine-Version-3/app/build/intermediates/classes/debug:/Users/Carl/Library/Android/sdk/extras/android/m2repository/com/android/support/support-annotations/21.0.2/support-annotations-21.0.2.jar:/Users/Carl/AndroidStudioProjects/Sunshine-Version-3/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.2/classes.jar:/Users/Carl/AndroidStudioProjects/Sunshine-Version-3/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.2/libs/internal_impl-21.0.2.jar:/Users/Carl/AndroidStudioProjects/Sunshine-Version-3/app/build/intermediates/exploded-aar/com.android.support/support-v4/21.0.2/res:/Users/Carl/AndroidStudioProjects/Sunshine-Version-3/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.2/classes.jar:/Users/Carl/AndroidStudioProjects/Sunshine-Version-3/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.2/res" com.intellij.rt.execution.application.AppMain com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 @/private/var/folders/hv/2rmrsk154qn6gb1ph1h7v0pc0000gp/T/idea_junit8537342709436198605.tmp @w@/private/var/folders/hv/2rmrsk154qn6gb1ph1h7v0pc0000gp/T/idea_working_dirs_junit3455533605177330243.tmp -socket50922
Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:259)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:116)
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 3 more

Process finished with exit code 1

我正在关注一个视频,它有相同的代码,并得到绿色(测试已经通过),所以它应该工作。我右键点击这里的“com.example.android.sunshine.app”文件夹:

然后选择运行测试,他们在视频中做什么,但我仍然得到错误。与我的Android Studio相比,视频中的唯一区别是:

它说“在com.example.”。对我来说,它没有说“在”,只有“运行测试”。

有人知道我为什么会得到这个错误吗?我在Mac上使用Android Studio: 1.1.0。

提前谢谢!

共有1个答案

仲法
2023-03-14

看起来您正在尝试运行JUnit测试,而您还没有发布测试类,我猜它们实际上不适合JUnit。如果运行/调试配置,请尝试添加“Android测试”目标,而不是JUnit目标。希望这能解决你的问题。

顺便说一句,看起来你使用的是1.8 JDK,从谷歌输入输出2015年开始,它还没有得到官方支持(有人在一次会议上问到它,谷歌的人说它还没有得到支持)。这不太可能是导致你这里问题的原因,但如果你以后尝试做其他事情,它可能会让我们现在更好。

 类似资料:
  • 问题内容: 和之间有什么区别? 是什么导致它们被抛出?如何解决? 在修改现有代码以包含新的jar文件时,我经常遇到这些throwables。我在客户端和服务器端都通过Webstart分发了一个Java应用程序。 我遇到的可能原因: build.xml代码客户端未包含的软件包 我们正在使用的新jar缺少运行时类路径 版本与先前的jar冲突 今天,当我遇到这些问题时,我会采取一种犯错的方法来使事情正常

  • 我正在运行JavaSpring Boot并收到此错误。怎么解决?我们在运行时看到它。我试图搜索github和谷歌,没有看到任何决议。

  • 问题内容: 和之间有什么区别? 是什么导致它们被抛出?如何解决? 在修改现有代码以包含新的jar文件时,我经常遇到这些throwables。我在客户端和服务器端都通过Webstart分发了一个Java应用程序。 我遇到的可能原因: 代码客户端未包含的软件包 我们正在使用的新jar缺少运行时类路径 版本与先前的jar冲突 今天,当我遇到这些问题时,我会采取一种犯错的方法来使事情正常进行。我需要更多的

  • 我使用spring数据来创建jpa和mongo。 附属国: spring版本是4.0。2.释放 SpringDataJPA版本是1.4。3.释放 spring数据mongodb版本为1.2。0.1释放 XML配置: 型号: 例外: 有人知道吗? 非常感谢。。

  • 在Websphere Application Sever8.5和RAD 8.5.1上尝试配置JMS队列连接工厂/激活规范时,我得到以下错误:

  • 问题内容: 我需要检查异常是否由某些数据库问题引起。我收到异常,并检查其原因是否包含“ ORA”字符串,然后将其返回(类似于“ ORA-00001”)。这里的问题是我收到的异常嵌套在其他异常中,因此,如果我不知道它是否是oracle异常,则必须检查该异常的原因,以此类推。有没有更清洁的方法可以做到这一点?有没有办法知道给定异常的第一个原因(嵌套的异常)? 我当前的代码如下所示: 问题答案: 只需遍