簡體   English   中英

NoClassDefFoundError原因:java.lang.ClassNotFoundException:junit.textui.ResultPrinter

[英]NoClassDefFoundError Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter

當我嘗試在創建應用程序時在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 ..”。 對我而言,它不會說“在”那里,而只是說“運行測試”。

有人知道為什么我會收到此錯誤嗎? 我正在使用Android Studio:在Mac上為1.1.0。

提前致謝!

似乎您正在嘗試運行JUnit測試,而您還沒有發布測試類,我想它們實際上並不是針對JUnit的。 如果您運行/調試配置,請嘗試添加“ Android測試”目標而不是JUnit目標。 希望那能解決您的問題。

附帶一提,您似乎使用的是1.8 JDK,該版本自Google I / O 2015以來尚未得到正式支持(有人在其中一個會議中提出了要求,Google人士表示尚未支持它) )。 這不太可能是導致您在此處遇到問題的原因,但是如果您以后再嘗試做其他事情,則可能會更好,目前最好是1.7。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM