我正在尝试运行一个调用多个文件的文件,但是我遇到了一些错误。
在名为 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终端中,我运行
javac Measurement.java
我遇到了问题。这是我得到的:
有什么建议吗?
答案 0 :(得分:1)
一旦你有一个目录中的所有文件(它们可能在子目录中 - 只要它们都在一些共享目录中),让我们称之为dir,使用以下内容:
javac -classpath dir Measurement.java
假设您正在从Measurement.java所在的同一目录运行命令。如果没有,并且以这种方式更安全,请将其作为dir和Measurement.java的显式路径,例如: / p>
javac -classpath /home/yourusername/dir /home/yourusername/dir/Measurement.java
这对java编译器说“我想编译Measurement.java,这里就是它,在这里你可以找到它需要的所有类和/或源文件。”然后它将只编译Measurement.java引用的文件,因此您无需担心意外编译所有Java文件。
答案 1 :(得分:0)
要检查的一件事是确保这些文件的目录结构反映了包结构。例如,如果ABC类的包是com.foo,那么您的ABC.java文件应该存在于com / foo文件夹中。
答案 2 :(得分:0)
使用javac * .java编译所有文件