2014-09-03 66 views
1

我在Eclipse中運行時,玉米片,收到以下錯誤:NACHOS Eclipse的例外在線程「主要」

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 

    at nachos.machine.Lib.assertTrue(Lib.java:75) 
    at nachos.machine.Machine.main(Machine.java:24) 

以上兩種方法如下:

nachos.machine.Lib.assertTrue :

public static void assertTrue(boolean expression) { 
    if (!expression) 
     throw new AssertionFailureError(); 
    } 

nachos.machine.Machine.main:

public static void main(final String[] args) { 
    System.out.println("nachos 5.0j initializing..."); 
    Lib.assertTrue(Machine.args == null);//This is the call after which error is thrown 
    Machine.args = args; 

    processArgs(); 

    Config.load(configFileName); 

    // get the current directory (.) 
    baseDirectory = new File(new File("").getAbsolutePath()); 
    // get the nachos directory (./nachos) 
    nachosDirectory = new File(baseDirectory, "nachos"); 

    String testDirectoryName = 
     Config.getString("FileSystem.testDirectory"); 

    // get the test directory 
    if (testDirectoryName != null) { 
     testDirectory = new File(testDirectoryName); 
    } 
    else { 
     // use ../test 
     testDirectory = new File(baseDirectory.getParentFile(), "test"); 
    } 

    securityManager = new NachosSecurityManager(testDirectory); 
    privilege = securityManager.getPrivilege(); 

    privilege.machine = new MachinePrivilege(); 

    TCB.givePrivilege(privilege); 
    privilege.stats = stats; 

    securityManager.enable(); 
    createDevices(); 
    checkUserClasses(); 

    autoGrader = (AutoGrader) Lib.constructObject(autoGraderClassName); 

    new TCB().start(new Runnable() { 
     public void run() { autoGrader.start(privilege); } 
    }); 
    } 
+1

'未解決的編譯問題'意味着源代碼中存在編譯錯誤。您需要顯示編譯錯誤消息。 – 2014-09-03 04:12:38

+0

你是不是指'AssertionFailureError'或'AssertionFailedError'?如果前者 - 在哪裏以及如何定義? – alfasin 2014-09-03 04:42:23

+0

是,AssertionFailureError定義如下: class AssertionFailureError extends Error { AssertionFailureError(){ \t super(); } AssertionFailureError(String message){ \t super(message); } } /*編譯時出現以下錯誤: 可序列化的類AssertionFailureError未聲明long類型的靜態final serialVersionUID字段。* / – Ruchi 2014-09-04 05:28:11

回答

0

當我嘗試通過eclipse運行玉米片時,出現了同樣的錯誤。我所做的就是查看Lib.java並向下滾動到帶有eclipse錯誤的函數。對我而言,這是checkDerivation。在參數<?>上應該有一個eclipse錯誤,如果你看看eclipse提供的自動修復功能,並選擇項目範圍內的修復,那麼在此之後應該運行nachos。

相關問題