1

複数のファイルを呼び出すファイルを実行しようとしていますが、エラーが発生します。

day4Measurementという現在のディレクトリ内には、13 個のファイルがあります。

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 ターミナルで実行します。

javac Measurement.java

問題が発生します。ここに私が得るものがあります:

ここに画像の説明を入力 ここに画像の説明を入力

助言がありますか?

4

3 に答える 3

1

すべてのファイルをディレクトリに配置したら (サブディレクトリにある場合もありますが、すべてが共有ディレクトリ内にある限り)、それを 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 ファイルをコンパイルしてしまうことを心配する必要はありません。

于 2012-06-28T00:50:47.487 に答える
0

チェックすることの1つは、これらのファイルのディレクトリ構造がパッケージ構造を反映していることを確認することです。たとえば、クラスABCのパッケージがcom.fooの場合、ABC.javaファイルはcom/fooフォルダーに存在する必要があります。

于 2012-06-27T23:43:51.203 に答える
0

javac*.javaを使用してすべてのファイルをコンパイルします

于 2012-06-27T23:45:30.550 に答える