Runnable JAR 可執行的 JAR

說明

官方文件

java 程式的執行入口是 main method,但因為 JAR 是一包 java
如果多個 java 都有 main method,程式無法決定是哪個入口
因此需要有文件定義入口點是哪一個 Class
如果沒有定義,執行 JAR 會出現錯誤

test.jar 中沒有主要資訊清單屬性

command line

建立 conf.txt 檔案(純文字即可,名稱任意)
Main-Class 指定入口的 Class,要包含 package
注意要多留一行空白

Manifest-version: 1.0
Main-Class: com.aoo.HelloWorld

打包時指定 conf.txt 檔案

jar cfm test.jar conf.txt com

結果

Eclipse

專案 → 右鍵 → Export → Runnable JAR file → Next

Launch configuration 選擇好 Main-Class 就會自動寫入 META-INF/MANIFEST.MF

執行

java -jar test.jar