標籤:
1、java 的工作方式、包、jar 封存檔案和部署
- 最簡單的,原始碼—>編譯器—>輸出—>java 虛擬機器(JVM)。
javac Party.javajava Party
- 將原始碼和類檔案分離,原始碼(.java)儲存在source目錄下,輸出(.class)產生在 classes 目錄。
cd MyProject/sourcejavac -d ../classes *.javacd MyProject/classesjava MyApp
- 將程式包進 JAR,JAR 就是 JavaARchive,這種檔案是個 pkzip 格式的檔案,它能把一組類檔案封裝起來,交付時只需要一個 JAR 檔案。可執行檔 JAR 代表使用者不需把檔案抽出來就能運行。程式可以在類檔案儲存在 JAR 的情況下執行。秘訣在於建立出 manifest 檔案,它會帶有 JAR 的資訊,告訴 JAVA 虛擬機器哪個類含有 main() 這個方法。
cd MyProject/classesjar -cvmf manifest.txt apptest.jar *.classjar -cvmf manifest.txt apptest.jar MyApp.class
其中 manifest.txt 檔案放在 classes 目錄,內容如下:
Main-Class: MyApp
JAVA 虛擬機器能夠從 JAR 中載入類,並調用該類的 main() 方法。事實上,整個應用程式都可以包在 JAR 中。一旦 main() 方法開始執行,JAVA 虛擬機器就不會在乎類是從哪來的,只要能夠找到就行。其中一個來源就是 classpath 指定位置的所有 JAR 檔案。如果看到某個 JAR,則 JAVA 虛擬機器就會在需要類的時候查詢此 JAR。
根據作業系統如何動態設定,有可能直接雙擊 JAR 就可以開始執行,Windows 與 Mac OS X大致是這樣。可以通過點選 JAR 並要求 OS 以“Open with...”這一類的方式來開啟。
2、
參考資料:
1. Kathy Sierra / Bert Bates. 《Head First Java》
java 學習筆記