用戶運行 Java 應用常遇到困難。雖可編寫 Windows BAT 或 UNIX SH 腳本協助調用,但若有 GUI,有更簡單優雅的方案:設置 JAR 清單文件的 Main-Class 屬性,實現雙擊直接運行。
每個 JAR 文件包含清單文件:META-INF/MANIFEST.MF。jar 命令的 -m 選項可指定自定義清單文件。清單基礎內容含版本與製造商:
Manifest-Version: 1.0
Created-By: 1.3.0 (Apple Computer, Inc.)
關鍵第三行:Main-Class: com.generationjava.util.JarCreator。這行指定包含 static main() 方法的類名,等價於無參數運行 java com.generationjava.util.JarCreator。用戶雙擊 JAR 時,JVM 讀取此屬性並調用該類的 main(),應用即刻啟動。
JarCreator.mfManifest-Version: 1.0
Main-Class: com.generationjava.util.JarCreator
Created-By: 1.3.0 (Apple Computer, Inc.)
jar cvfm MyApp.jar JarCreator.mf com/generationjava/tools/JarCreator.class
c:創建新 JARv:顯示詳細輸出f:指定 JAR 文件名m:包含指定清單文件信息META-INF/MANIFEST.MF 確認 Main-Class 正確。MyApp.jar 或運行 java -jar MyApp.jar 應用啟動。許多現代桌面默認將 .jar 關聯到 Java 運行時。用戶下載 JAR 放桌面,雙擊即用,體驗如原生應用。這「魔術」驚人地簡單,只需正確設置 Main-Class。
public static void main(String[] args) 入口方法。Class-Path 清單屬性指定外部依賴 JAR 路徑。