如何在命令行方式下编译一整个文件夹下的所有java文件?

我现在正在进行一个命令行方式程序的开发,现在遇到了要编译一个文件夹下的所有java文件的问题,注意这些文件还位于不同的子文件夹下,因为这些文件彼此之间的调用关系比较混乱,... 我现在正在进行一个命令行方式程序的开发,现在遇到了要编译一个文件夹下的所有java文件的问题,注意这些文件还位于不同的子文件夹下,因为这些文件彼此之间的调用关系比较混乱,所以只能用将整个文件夹进行编译的方式,但是我并不知道javac如何才能编译整个文件夹下的所有子文件夹中的文件,希望有经历过的大虾能够帮下忙哈! 展开
 我来答
lq2629lei
推荐于2017-11-25
知道答主
回答量:6
采纳率:0%
帮助的人:3.9万
展开全部
暂时提供一个编译类,如果有更好的方法再交流。

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 文件,然后运行,试试看效果怎么样。
百度网友37397c621
2013-04-03 · TA获得超过695个赞
知道小有建树答主
回答量:427
采纳率:100%
帮助的人:145万
展开全部
cd mywork (不进入src源文件夹)
javac -sourcepath src src\*.java
(可以指定输出目录,javac -sourcepath src -d classes src\*.java)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-04
展开全部
这个问题我也问过,根本没有任何可能的方式,最好的办法就是用eclipse的build啦!要不然真的没有很好的解决方法啊1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式