2016-04-15 91 views
0

我有一个Java应用程序需要从src目录动态编译Java文件到bin目录下有一个lib目录:如何从我的Java应用程序中将某些java文件编译到bin目录中?

的结构是这样的:

Dir_Result 
    src 
    lib 
    bin 

该项目的副本2名的目录src和lib从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中执行?

+0

我运行你的代码,它正在生成编译文件。 –

+0

Plz检查''Dir_Result/bin'是否存在 –

回答

1

我发现了原因,这是因为我的一些Java文件有不同的编码中的一些字符,所以我添加了“-encoding ISO-8859-1”,它工作。

相关问题