前面章節都是在單一檔案進行測試,只要開啟 new folder 即可撰寫程式並執行。如今進入整個專案的設計,每個專案有數十到數千、萬個檔案,所以前述的方式並不適用。
Ant
VSCode 預設就是使用 Ant 的模式開啟專案,執行時會在指令上打上所有參數,適用於單一檔案或不複雜的專案。實際的專案中,最好在專案下新增 src 及 lib,然後把 .java 程式碼寫在 src 之內。
project/ ├─ src/ └─ lib/
無論是在 Windows 或 Linux,輸入如下指令執行程式。
cd src
java -cp "../lib/*" C02.java
或是
cd src
javac -d ../out -cp "../lib/*" C02.java
cd out
java -cp ".;./lib/*" C02
在Windows 下,「.;」 是在目前的目錄找 .class,然後去「./lib/*」找其它的 .class 及 .jar。沒有「.;」無法執行。
在 Linux 下必需使用「.:./lib/*」執行,如下所示
java -cp ".:./lib/*" C02
編譯自訂 sdk
假設我們的自訂 sdk 目錄如下
project/ ├─ src/ │ └─ net/ │ └─ ddns/ │ └─ mahaljsp/ │ ├─ np.java │ ├─ os.java │ └─ mysql/ │ ├─ mysql.java │ ├─ PyConnection.java
在 Power Shell (VSCode Terminal) 執行如下指令,將 sdk 打包成 .jar,然後置於 lib 之下。
Get-ChildItem -Recurse -Filter *.java src | % { $_.FullName } > sources.txt
$sources = Get-Content sources.txt
javac -d out $sources
jar cvf lib/mahaljsp.jar -C out .
在 Linux 下可使用如下指令
javac -d out $(find src -name "*.java") jar cvf ./lib/mahaljsp.jar -C out .
gradle
如果專案的檔案數量煩多,且引用其它的 .jar,那麼上述的 Ant 方式就不適用,需改成 gradle 的編譯方式。
使用 gradle 需在 VSCode 安裝 Gradle for Java,然後 Ctrl+Shift+p,選取 Create Java Project,再選取Groovy
todo
maven
maven 不如 gradle 靈活,但現今大部份企業還是採用 maven,所以僅作記錄用。
todo
