Version 9 (modified by waue, 16 years ago) (diff) |
---|
製作 Executable JAR
製作可執行JAR的注意事項
初階小試
階層管理
可支援Hadoop的JAR打包方式
Eclipse 製成jar
- Package Explorer 找到程式碼的專案資料夾,右鍵點選export-> Java -> Runnaable JAR file -> Launch configuration -> "之前有run過就可以在此找到" ; Export destination->"隨便一個path" -> Finish
打包成exe檔工具
- JET是一個優秀的Java語言本地編譯器。該編譯器可以從這個網站獲得一個測試版本: http://www.excelsior-usa.com/jet.html
用法: 例如你的文件為test.java 用javac生成test.class 然後用 jc test.class+gui 這樣就可以變成百分百的exe文件了。 還有一些參數可以把class文件編譯成dll
注意:加個參數+gui,只是不顯示dos窗口,而不是完全的可以獨立運行的exe,還是需要jre的
- exe4j
說明:exe4j可以將Jar文件製作成exe文件,但需jre支持,也可將Jar文件放在外面。
軟件性質:共享軟件
下載地址:http://www.ej-technologies.com/products/exe4j/overview.html
- JBuilder
說明:新版本的JBuilder可以直接把工程製作成各系統的可執行文件,包括Windows系統。
軟件性質:商業軟件
下載地址:略。
- NativeJ
說明:與exe4j功能類似。
軟件性質:共享軟件
下載地址:http://www.dobysoft.com/products/nativej/download.html
- 從www.towerj.com獲得一個TowerJ編譯器,該編譯器可以將你的CLASS文件編譯成EXE文件。
- jshrink
說明:可將Jar文件打包進exe文件。同時具有混淆功能(這才是它的主要功能)。
軟件性質:共享軟件
說明:打包工具,對Java打包最好用。可打包成各操作系統運行包。包括Windows系統。
軟件性質:商業軟件。
- InstallShieldX
說明:與InstallAnywhere類似,但比InstallAnywhere功能強大。相對的,比較複雜,不易上手,我現在還沒學會。
軟件性質:商業軟件。
- 利用微軟的SDK-Java 4.0所提供的jexegen.exe創建EXE文件,這個軟件可以從微軟的網站免費下載,地址如下: http://www.microsoft.com/java/download/dl_sdk40.htm jexegen的語法如下: jexegen /OUT:exe_file_name /MAIN:main_class_name main_class_file_name.class [and other classes]
11 . Visual Cafe提供了一個能夠創建EXE文件的本地編譯器。你需要安裝該光盤上提供的EXE組件。
- 使用IBM AlphaWorks提供的一個高性能Java編譯器,該編譯器可以從下面的地址獲得:
- Instantiations公司的JOVE
JOVE公司合併了以前的SuperCede,一個優秀的本地編譯器,現在SuperCede 已經不復存在了。
- JToEXE
Bravo Zulu Consulting, Inc開發的一款本地編譯器,本來可以從該公司的網頁上免費下載的,不過目前在該公司的主頁上找不到了。
主頁:http://www.bravozulu.com/ 根據精華區中的資料,下面這個FTP上曾經有過這個軟件,不知道現在是不是還在: ftp://race.dlut.edu.cn/pub/java/tools/jet
IzPack? 是一個 Java 安裝程序製作工具,能夠製作一些簡單的安裝程序。製作出來的安裝程序能在 Unix-like, MacOS X, Windows 等系統平台上運行。
- JSmooth
使用JSmooth將做好的JAR包裝成EXE。
- launch4j
launch4j是Java應用程序的Windows本地可執行文件 (.exe) 封裝器。提供了本地彈出屏幕,應用程序圖標,JRE搜索或使用綁定的JRE,啟動失敗反饋,傳遞命令行參數,ant腳本。
- VAInstall
VAInstall是多平台的安裝程序。你要包裝起來的軟件可以是可執行的 java class, Windows .EXE, Linux 可執行檔,或者是 UNIX shell 檔案。使用者可以選擇四種安裝的介面,graphic, xtra, text 或是 ansi。VAInstall 只需要很少的空間,他不會使用任何大的暫存檔案,而且還可以很容易使用反安裝功能。
- Toolshed
Toolshed是一個既小又簡單的JAVA安裝製作工具。
AntInstaller通過XML文件定義UI,用Ant做後台。所以ANT所能做的事情AntInstaller同樣也勝任。
FreeInstaller能夠把JAVA程序打包成多種平台下的應用程序比如UNIX, LINUX 和 Windows NT.
22.ROXES ANT Tasks
這個工具利用 ANT 來製作在 Windows, MacOS X, Unix 平台上可執行的文件,比如 exe,zip,jar。ROXES ANT Tasks 基於 GPL 發佈。
- Mini Installer Mini Installer是用來構建JAVA安裝程序一個簡單類包。整個過程以腳本為驅動,最後結果是一個獨特的JAR文件。用戶可以通過雙擊來執行一個類似嚮導的安裝過程。
- Antigen
Antigen (Ant Installer Generator)這個工具結合一個ANT構建腳本與一個GUI來把Java文件打包成可執行的Jar文件。它的主要目的是從Ant腳本創造一個強大的圖形安裝工具。
25.Packlet Packlet是一個針對Java的簡單安裝工具。一個Packlet類似於一個zip或tgz文件。它把應用程序打包成一個單一的可分解的壓縮文件。Packlet文件能夠在任何有安裝Java 2運行環境的機器上運行。
- setup2go是個很好用的安裝製作程序,有中文版,且完全免費
- ms 的visual j ++ 可以的,因為windows有java1.1的運行庫,但不支持swing等api
- HotJava?,但是一旦將 Java編譯成exe後,你的這個Java程序就失去了Java本身的「編譯一次,到處運行」這種跨平台的意思了。
Reference by Java Gossip: 製作 Executable JAR
撰寫Java程式到這邊,相信您一定會有所疑問的是,編出來的.class檔案越來越多,難道要將這一堆.class檔案直接給想要執行程式的人嗎?在Windows下的話,有沒有辦法按一下檔案,就可以執行程式呢?
當然,實際上要交付程式時,並不是給一堆.class檔案,而是會將編譯好的.class檔包裝為一個Java Archive File,也就是副檔名為.jar的檔案,在JDK的bin目錄下,附帶有一個jar工具程式,您可以直接執行jar程式,看看它的提示訊息:
直接執行jar工具程式,提示訊息中已清楚的說明如何使用jar程式,在這邊使用 文字編輯器製作 完成的文字編輯器為例,來示範如何將程式包裝為.jar的檔案,首先請建立一個jar目錄,並在其下建立bin與classes目錄,將您完成的文字編輯器程式放入classes中(包括套件的資料夾結構),待會將會產生的.jar則將放入bin中。
接著開啟文字模式,切換工作目錄至jar目錄下,然後鍵入以下的指令,表示將建立一個JNotePad.jar放到bin目錄中,來源是classes中的檔案,被放入的檔案將以/作為.jar檔案中的根目錄:
接著您的bin目錄中就會產生一個JNotePad.jar,要如何使用這個.jar檔案呢?.jar檔案中包括.class,基本上可以將.jar看作是一個特別的目錄,所以要使用.jar檔案中的.class檔案時,基本上也是指定Classpath,例如:
java -cp ./bin/JNotePad.jar onlyfun.caterpillar.JNotePad
接著您的文字編輯器就會啟動了,現在您不用將一堆.class檔案交付出去,只要交付這個JNotePad.jar就可以了。
然而,真的要指定Classpath這麼麻煩嗎?其實還有更方便的做法,製作一個Executable Jar檔案,指定讀取.jar檔案時要執行的Main-Class就可以了,這需要準備一個manifest.txt,當中寫下:
注意寫完Main-Class之後,要按下Enter鍵新增一行,在Windows下這個動作是必要的,否則會發生無法讀取Main-Class屬性的錯誤。假設manifest.txt放在jar目錄下,接著如下執行指令:
在.jar檔案製作出來後,您可以在執行java時指定-jar引數,以及您的.jar檔案,java程式會自動尋找Main-Class並執行,例如下達以下的指令:
java -jar bin/JNotePad.jar
接著您的文字編輯器就會啟動了,如果您的作業系統是Windows,由於安裝完JRE之後,會將.jar預設由javaw程式開啟,所以您可以直接在JNotePad.jar檔案上,使用滑鼠左鍵按兩下直接開啟程式來執行。