最近在弄一些 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 了 ^_^