簡體   English   中英

在終端中編譯/運行Java文件

[英]Compiling/Running Java files in Terminal

我正在嘗試運行一個調用多個文件的文件,但出現一些錯誤。

在名為day4Measurement的當前目錄中,我有13個文件:BuggyMeasurement.java,BuggyMeasurement01.java,BuggyMeasurement02.java,BuggyMeasurement03.java,BuggyMeasurement04.java ... BuggyMeasurement10.java,MeasurementTest.java和Measurement.java。

Measurement.java包含main()並調用所有其他文件。

這是main()

public static void main(String [] args){
    JUnitCore tester = new JUnitCore();
    String s = "Failed to detect: ";
    int count = 0;
    String [] tests = {"toString prints reverse inches then feet", // 01
        "plus modifies this", // 02
        "minus modifies this", // 03
        "multiple modifies this", // 04
        "plus incorrect roll over", // 05
        "minus incorrect roll over", // 06
        "multiple incorrect roll over", // 07
        "plus incorrect non-roll over", // 08
        "minus incorrect non-roll over", // 09
        "multiple incorrect non-roll over", // 10
        "CORRRRECTTT!!!"
    };
    for (int i = 1; i < tests.length + 1; i++){
        testRound = i;
        System.out.println("Running: " + tests[i-1]);
        TestRunner.run(day4Measurement.MeasurementTest.class);
        Result temp = tester.run(day4Measurement.MeasurementTest.class);
        if (temp.wasSuccessful()) {
            s += tests[i-1] + "; ";
            count++;
        }

    }

    System.out.print(10-(count-1)*0.5 + " ");
    System.out.println(s);
}

在Mac Terminal中,我運行

javac Measurement.java

我遇到了問題。 這是我得到的:

在此處輸入圖片說明在此處輸入圖片說明

有什么建議么?

一旦將所有文件都放在一個目錄中(它們可能在子目錄中-只要它們都在某個共享目錄中),就將其稱為dir,使用以下命令:

javac -classpath dir Measurement.java

假設您正在從Measurement.java所在的同一目錄中運行命令。如果不是,並且以這種方式更安全,請使其成為dir和Measurement.java的顯式路徑,例如:

javac -classpath /home/yourusername/dir /home/yourusername/dir/Measurement.java

這對Java編譯器說:“我想編譯Measurement.java,在這里,在這里您可以找到它需要的所有類和/或源文件。” 然后,它將僅編譯Measurement.java引用的文件,因此您無需擔心會意外地編譯所有Java文件。

要檢查的一件事是確保這些文件的目錄結構與程序包結構相同。 例如,如果ABC類的軟件包是com.foo,則您的ABC.java文件應位於com / foo文件夾中。

使用javac * .java編譯所有文件

暫無
暫無

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

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