酷!學園

技術討論區 => 程式討論版 => Java程式設計討論區 => 主題作者是: Yamaka 於 2011-08-24 18:33

主題: 如何打包可執行的 jar
作者: Yamaka2011-08-24 18:33
最近在弄一些 Java 小程式, 想說要打包成 jar
因為好久沒玩 Java, 所以先稍微測試了一下

引用
$ touch Play.java
$ sugedit Play.java &

代碼: [選擇]
// Play.java

public class Play {
  public static void main(String args[]) {
    System.out.println("Start!!");
  }
}


引用
$ javac Play.java
$ java Play
Start!!
$

Play 執行 OK,用 jar 打包起來..

引用
$ jar -cf Play.jar Play.class
$ ls -l *.jar
-rw-r--r-- 1 xxxxx xxxxx  739 2011-08-24 15:13 Play.jar
$
$ java -jar Play.jar
Failed to load Main-Class manifest attribute from
Play.jar
$

嗯~ 用 Main-Class manifest 當關鍵字爬了一下估狗
原來是 manifest 裡沒有指定 Main-Class
jar 預設的 manifest 是不會自動加上 Main-Class
所以打包時要另外加上去...

引用
$ jar -cfe Play.jar Play Play.class

第二個『Play』就是指定 Main-Class

引用
$ java -jar Play.jar
Start!!
$


這樣就可以跑 jar 了 ^_^