如何在命令行方式下编译一整个文件夹下的所有java文件?
我现在正在进行一个命令行方式程序的开发,现在遇到了要编译一个文件夹下的所有java文件的问题,注意这些文件还位于不同的子文件夹下,因为这些文件彼此之间的调用关系比较混乱,...
我现在正在进行一个命令行方式程序的开发,现在遇到了要编译一个文件夹下的所有java文件的问题,注意这些文件还位于不同的子文件夹下,因为这些文件彼此之间的调用关系比较混乱,所以只能用将整个文件夹进行编译的方式,但是我并不知道javac如何才能编译整个文件夹下的所有子文件夹中的文件,希望有经历过的大虾能够帮下忙哈!
展开
3个回答
展开全部
暂时提供一个编译类,如果有更好的方法再交流。
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 文件,然后运行,试试看效果怎么样。
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)
javac -sourcepath src src\*.java
(可以指定输出目录,javac -sourcepath src -d classes src\*.java)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-04
展开全部
这个问题我也问过,根本没有任何可能的方式,最好的办法就是用eclipse的build啦!要不然真的没有很好的解决方法啊1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询