2016-04-15 21 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」,它工作。

相關問題