1

在 Eclipse 中运行 nachos 时出现以下错误:

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); }
    });
    }
4

1 回答 1

1

当我尝试通过 Eclipse 运行玉米片时,我遇到了同样的错误。我所做的是查看 Lib.java 并向下滚动到带有 eclipse 错误的函数。对我来说是checkDerivation。参数上应该有一个 eclipse 错误<?>,如果您查看自动修复 eclipse 给您并选择项目范围的修复 nachos 应该在那之后运行。

于 2015-10-02T23:48:46.180 回答