暂时提供一个编译类,如果有更好的方法再交流。
import java.io.File;import java.io.IOException;
import java.util.Scanner;
public class CompileJavaFiles {
private static Runtime r = Runtime.getRuntime();
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入待编译的文件夹路径:");
String path = scanner.nextLine();
File directory = new File(path);
if (null == directory || !directory.isDirectory()) {
System.out.println("指定的目录不存在.");
} else {
execute(directory);
System.out.println("全部编译完成.");
}
System.exit(0);
}
public static void execute(File file) throws IOException {
if (null != file) {
if (file.isDirectory()) {
File[] files = file.listFiles();
for (File f:files) {
execute(f);
}
} else if (file.isFile() && file.getName().endsWith(".java")) {
r.exec("javac " + file.getAbsolutePath());
System.out.println("正在编译 " + file.getAbsolutePath());
}
}
}
}
首先编译 CompileJavaFiles 文件,然后运行,试试看效果怎么样。
cd mywork (不进入src源文件夹)
javac -sourcepath src src\*.java
(可以指定输出目录,javac -sourcepath src -d classes src\*.java)
这个问题我也问过,根本没有任何可能的方式,最好的办法就是用eclipse的build啦!要不然真的没有很好的解决方法啊1