【发布时间】:2016-04-15 03:17:28
【问题描述】:
我有一个 Java 应用程序需要将 Java 文件从 src 目录动态编译到带有 lib 目录的 bin 目录中:
结构如下:
Dir_Result
src
lib
bin
项目将 src 和 lib 2 个目录从 Dir_Origin 复制到 Dir_Result,然后以编程方式更改 Dir_Result/src 中的一些 Java 文件并将它们编译到 Dir_Result/bin 中
通常我使用 Netbeans 编译项目,但现在我需要编写 Java 代码来为我进行编译。我尝试了以下方法,它没有错误地通过。但是我在 bin 目录中看不到任何内容。没有错误也没有输出。
runCommand("javac -d C:/Dir_Result/bin/ -cp C:/Dir_Result/lib/* C:/Dir_Result/src/*");
...
public static String runCommand(String Command)
{
String Line,Result="";
Process Child;
try
{
Child=Runtime.getRuntime().exec("cmd.exe /c "+Command);
Result+="Executing : "+Command+"\n";
BufferedReader Input=new BufferedReader(new InputStreamReader(Child.getInputStream()));
while ((Line=Input.readLine()) != null) Result+=Line+"\n";
Input.close();
Result+="Done\n";
}
catch (IOException e) { Result+=e.toString(); }
return Result;
}
我不知道出了什么问题,如何解决?如果我需要设置类路径,如何在我的程序中进行设置,或者是否可以从 runCommand 设置?
【问题讨论】:
-
我运行了你的代码,它正在生成编译文件。
-
请检查
Dir_Result/bin是否存在
标签: java command-line compilation