我想從命令行編譯一個Java項目。該項目包含不同包中的類文件。如果我指定每個包的每個java文件,該程序編譯並運行正常。這裏是我的目錄結構:自動編譯多個java包
toplevel/
mainFile.java
level1/ (Contains fileA.java)
現在,如果我這樣做javac -classpath ./toplevel toplevel/mainFile.java toplevel/level1/fileA.java
,編譯沒有問題,我可以用java toplevel/mainFile
運行它。 現在,如果創建1級稱爲「(第二級)」的新文件夾,並創建一個「B」級裏面,新的目錄結構變爲:
toplevel/
mainFile.java
level1/ (Contains fileA.java)
level2/ (Contains fileB.java)
若要編譯此我必須做的: javac -classpath ./toplevel toplevel/mainFile.java toplevel/level1/fileA.java toplevel/level1/level2/fileB.java
這是越來越荒謬。是否有遞歸編譯每個包和其中的文件的指令?
爲什麼不使用像ant或maven這樣的構建工具?這對於那些將是微不足道的。 – rocketboy
可能重複[javac選項遞歸編譯](http://stackoverflow.com/questions/6623161/javac-option-to-compile-recursively) –
@rocketboy我不想使用任何構建工具,這需要學習一些額外的東西。用戶必須能夠從命令行運行它 – df611