你的用戶運行Javaapplications時會遇到困難嗎?你可以創建一個Windows的BAT文件或UNIX的SH文件來幫助他調用application。但是如果你有GUI,那麼你就有比這簡單得多的辦法來解決這個問題了。
在許多現代的桌面上,.jar文件被設置成自動運行。這使得在使用者看來.jar文件的應用是很普通的。他們下載了這個東西,放在他們的桌面上,然後當他們想用的時候點一下就可以了。
這個魔術變起來驚人的容易。每個.jar文件都有一個清單,它們以如下的文件名保存著:
META-INF/MANIFEST.MF
jar命令提供了一個-m選項以指定要用來做清單的文件。以下代碼就是這種方法的一個應用。我們來創建一個JarCreator:
jarmfMETA-INF/JarCreator.mf
com.generationjava.tools.JarCreator.class
一個非常基本的清單包含了版本號和制造商,制造商通常也就是JDK的賣主。比如,MacOSX中的清單就是象這個樣子:
Manifest-Version:1.0
Created-By:1.3.0(AppleComputer,Inc.)
但是,真正的動作卻是開始於額外的第三行:
Manifest-Version:1.0
Main-Class:com.generationjava.util.JarCreator
Created-By:1.3.0(AppleComputer,Inc.)
第三行提供了一個類的名字,靜態的主函數就是在這個類中運行的。它等價於在這個類中不給任何參數的運行java命令。
一旦.jar被點擊,com.generationjava.util.JarCreator類的主函數將被調用,應用也就可以實現了。