1. 程式人生 > >使用javac命令列編譯一個目錄下的所有.java檔案?

使用javac命令列編譯一個目錄下的所有.java檔案?

使用javac命令列如何編譯一個目錄下的所有.java檔案?
參考這裡

使用javac -sourcepath src *.java不行!使用javac -sourcepath src src*.java可以!!!

總結一下!

方法一、進入原始檔夾進行編譯
cd mywork
cd src (然後進入src原始檔夾)
javac *.java
(可以指定輸出目錄,javac -d ..\classes *.java)

方法二、不進入原始檔夾進行編譯
cd mywork (不進入src原始檔夾)
javac -sourcepath src src*.java
(可以指定輸出目錄,javac -sourcepath src -d classes src*.java)

說明:
1、javac可以使用-sourcepath選項指定“查詢輸入原始檔的位置”,使用-d選項指定“存放生成的類檔案的位置”。但在使用-sourcepath選項時有一點要注意,指定了-sourcepath仍然要以當前目錄為起點指定待編譯的原始檔。(如“src*.java”,不能以-sourcepath為起點指定原始檔,如“*.java”)

2、使用*.java編譯時,無須自己檢查包依賴關係(如在llh包中,有llh.A_package中的類檔案引用了llh.B_package中的類),編譯時會自動將輸出目錄(如src或classes目錄)加入到classpath中,不用指定-classpath classes選項。

另外,使用javac *.java可以,使用javac src*.java不行,因為不指定-sourcepath選項則預設把當前目錄作為原始檔夾,即相當於-sourcepath .。必須使用javac -sourcepath src src*.java。