2013-08-25 80 views
12

有沒有辦法將Java源文件(*.java)編譯到不同的目錄?將源文件編譯到不同的目錄?

如果我的包文件的結構如下所示:

Mathematics -> 
    Formulas -> 
    src -> 
     // source files containing mathematical formulas... 
    bin -> 
     // class files containing mathematical formulas... 
    Problems -> 
    src -> 
     // source files containing mathematical problems... 
    bin -> 
     // class files containing mathematical problems... 

我要分開源和類文件,以保持組織的文件夾,但我現在要所有的類文件從src文件夾的複製bin每次編譯後的文件夾。

有沒有辦法通過將類文件編譯到javac命令中的另一個文件夾來簡化此過程?

+0

你想要什麼目錄'bin'? –

回答

21

是的,絕對是 - 使用-d選項來指定輸出目錄:

javac -d bin src/foo/bar/*.java 

注意,你指定的目錄是根輸出結構的;相關的子目錄將自動創建,以對應您的代碼的包裝結構。

查看javac documentation瞭解更多詳情。

在這種情況下,您需要發出一個javac命令來編譯公式,另一個編譯這些問題 - 儘管可能在編譯問題時使用公式bin作爲類路徑的一部分。 (你可能想考慮使用單一的源代碼結構,但是不同的包,請注意,你也應該考慮使用IDE來隱藏你的一些複雜性 - 它最終會讓人厭煩手工完成所有這些,即使它實際上不是。)

相關問題