2017/3/4

手動編譯java

就嘗試看看自己編譯java,而不靠IDE,後面會有自己動手從Tomcat部署Servlet,這篇先打好基礎。


作業系統為MacOS Sierra

找到你的java檔案,並編譯:
shenshide-MBP:XanxusJava xanxus$ javac HelloWorld.java
HelloWorld.java放在XanxusJava資料夾中,這之前請cd指令至你放java檔案的目錄
編譯完成會產生一個 HelloWorld.class 的檔案

-d指令可指定你要把class檔放到哪,-verbose會列出編譯中的訊息
shenshide-MBP:XanxusJava xanxus$ javac -verbose -d ./classes ./src/HelloWorld.java
./表示我目前在XanxusJava這資料夾,而./接這資料夾底下的目錄,如:./src/...

執行java
shenshide-MBP:classes xanxus$ java HelloWorld
記得 要到編譯完的class檔的目錄

-classpath
shenshide-MBP:XanxusJava xanxus$ java -classpath ./classes HelloWorld 
Hello! World!Xanxus!
如果我沒有在HelloWorld.class這個目錄中,那我想執行它怎麼辦?就用-classpath
它可指定我要執行哪個目錄的class檔案

設置Classpath環境變數
只要設定好Classpath環境變數,那執行java檔案,系統會自己去找Classpath環境變數的路徑

編譯一般java檔,以utf8編碼編譯:
javac -encoding utf-8 *.java -d .

編譯有import外部jar函式庫的java檔:
javac -cp ".:/Users/username/Downloads/常用jar/jsoup-1.11.2.jar" -encoding utf-8 *.java -d .

執行有import外部jar函式庫的java檔:
java -cp ".:/Users/username/Downloads/常用jar/jsoup-1.11.2.jar" ntou.cs.java2018.t5.shuyen.WheatherViewerTest


參考:
手動編譯java與classpath(window)http://bit.ly/2mQ8WsD
設置classpath(macOS)http://bit.ly/2mD1nbS
設置classpath(macOS)(中文)http://bit.ly/2mQ4bit

沒有留言:

張貼留言