[英]why cant find or load main class when extends TestCase class
我意外地遇到了一個有趣的錯誤,我需要你幫助我搞清楚。
至於下面的代碼,每件事都可以:
public class HelloWorld{
public static void main(String[] args){
System.out.println("hello world");
}
}
那么跟隨代碼,有趣的東西來了。
import junit.framework.TestCase;
public class HelloWorld extends TestCase{
public static void main(String[] args){
System.out.println("hello world");
}
}
當我跑它時,它說
無法找到或加載主類。
我知道當jvm
加載HelloWorld class
它會首先加載TestCase class
。 所以我做了下面的代碼段。
public class HelloWorld {
public static void main(String[] args) throws ClassNotFoundException{
Class.forName("junit.framework.TestCase");
}
}
線程“main”中的異常java.lang.ClassNotFoundException:junit.framework.TestCase
我不知道為什么? 也許TestCase
類不在我的類路徑上? 但至於第二個代碼段,我確保TestCase
在我的類路徑上 。
所以我的問題是:
TestCase
類? TestCase
類時無法找到或加載主類? 注意:我知道print helloworld函數與TestCase class
沒有任何關系,它曾用於junit測試,但我想找出導致這種驚喜的原因。
我不知道為什么? 也許TestCase類不在我的類路徑上? 但至於第二個代碼段,我確保TestCase在我的類路徑上。
Class.forName("junit.framework.TestCase");
返回與TestCase類關聯的Class對象。 它沒有設置類路徑。
這就是你提出異常的原因:
線程“main”中的異常java.lang.ClassNotFoundException:junit.framework.TestCase
您嘗試加載不在類路徑中的類。
要解決Eclipse的問題,請進入項目的屬性窗口,然后在左側,您有Java Build Path選項,進入內部並查看庫選項卡。 在這里,如果希望JUnit位於類路徑中,則應添加JUnit庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.