可能重複:
Java: How can I compile an entire directory structure of code?javac如何用通配符編譯整個源代碼目錄?
在javac命令行,如何編譯整個源代碼目錄通配符?
javac src\com\mq\Main.java
改爲
javac src\*
我們能做到這一點?
感謝
可能重複:
Java: How can I compile an entire directory structure of code?javac如何用通配符編譯整個源代碼目錄?
在javac命令行,如何編譯整個源代碼目錄通配符?
javac src\com\mq\Main.java
改爲
javac src\*
我們能做到這一點?
感謝
您是否考慮過使用Ant?它使這種事情變得更簡單。請參閱:http://ant.apache.org/manual/Tasks/javac.html#srcdirnote
您只需將它指向源代碼樹的頂層,然後您可以選擇性地排除任何您不想編譯的東西。如果需要,你也可以變得更加複雜,但是它可以處理最常見的需求。
只需使用通配符:
javac src\com\mq\*.java
這不會直接適用於多個軟件包。 –
使用cd命令轉至包含源文件的目錄。然後發出命令
的javac *的.java
簡短的回答:沒有
較長的答案:也許
javac命令將編譯所有你列出在命令行上的文件。如果使用通配符,可以在javac命令行的src樹中創建所有文件的列表,它將編譯所有這些文件。
在UNIX中,你可以做這樣的事情:
find src -type f -name "*.java" -print | xargs javac
一個答案,其中的這個問題是一個重複(Java: How can I compile an entire directory structure of code ?從芯片麥考密克評論)的問題表明,使用-exec一個查找參數。對於大量的.java文件,這種技術更好。對於少量的.java文件,我相信我所展示的與使用-exec參數的技術實際上是一樣的。
「正確的方法」要做到這一點將是使用像Ant或Maven或IDE這樣的構建工具,它會自動爲您執行此操作。
例如,在Ant中,你會在你的編譯目標使用此任務:
<javac srcdir="src"
encoding="UTF-8"
destdir="classes">
</javac>
可以使用@args技術,如javac documentation定義。它是一個包含要編譯的類的路徑的文件。
如果使用在Linux/Unix系統中,可以很容易地創建一個這樣的文件:
find . -iname *.java > files.txt
javac @files.txt
它的工作原理遞歸,只需啓動它在你的源目錄的根目錄。
使用一些IDE –