- 註冊時間
- 2006-3-13
- 最後登錄
- 2025-1-10
- 在線時間
- 673 小時
- 閱讀權限
- 200
- 積分
- 417
- 帖子
- 1107
- 精華
- 0
- UID
- 2
  
|
資料來源 http://www.chentaoqian.com/archives/489
Java 程序做成 exe 文件的幾種做法
雖然 Java 擁有跨平台的優勢,但是現在絕大部分程序還是以 exe 可執行程序為主。 所以為了能將 Java 寫的程序編譯成可執行程序,我去網上搜了一些方法,在這裡做個總結。
關於將 java 程序做成 exe 文件的幾種做法:
可以把普通的 Java 程序做成真正的 exe,也就是單一個 exe 就可以在沒有安裝 JVM 的機器上運行。 這樣的工具常見的有 JET 和 gcj.前者是收費的,而且做出來的 exe 還是需要一堆 dll。 推薦使用 gcj.他有 windows 和 Linux 版,直接下載 zip 包,不需要安裝,裡面有不少例子,一些 build 的批處理文件。 從原理來說 gcj 自己實現了 JVM 規範,也就是你編寫一個 HelloWorld.java,其中的 main 方法為 System.out.println(“foo”);
當使用 gcj 把它做成 exe(大約2M),運行這個 exe 時,會啟動裡面的一個小型 jvm,在這上面跑 HelloWorld。
其實,把 Java 做成純 exe 實在是吃力不討好,有很多限制,文件又大。
我比較傾向另幾種做法:
. 使用 InstallAnywhere 等工具,製作一個 exe 的安裝包用戶可以選擇使用他機器上的 JRE 或是這個安裝包內的 JRE 來運行程序
這是很常見的一種做法,如 JBuilder 就是這麼做的。
這樣的好處是不要求對方機器上裝有 JRE,而且你原來的程序不需要任何改動。
InstallAnywhere 中一個壓縮的 JRE 大概是 8 M。
. 製作成可執行的 jar,也就是在 META-INF 的 MANIFEST 文件製定 Main-Class 可以通過命令行 java -jar jarfile.jar 來執行,windows 默認的把 *.jar 使用 javaw -jar 打開,所以有些機器上可以直接雙擊 jar 運行。
. 製作偽 exe,其實和上一種做法是一樣的,只不過做成 exe,調用系統的 java.exe 來運行它,這樣的工具有 nativeJ, exe4j 等
其實 Java 不像 VB, Delphi 只是一個語言,而是一個平台。
jar 是最常用的部署單元,做成 exe 沒什麼意思。
一、exe4j。
說明:exe4j可以將 Jar 文件製作成 exe 文件,但需 jre 支持,也可將 Jar 文件放在外面。
軟件性質:共享軟件
下載地址:http://www.ej-technologies.com/products/exe4j/overview.html
二、JBuilder。
說明:新版本的 JBuilder 可以直接把工程製作成各系統的可執行文件,包括 Windows 系統。
軟件性質:商業軟件
下載地址:略。從 eMule 下載的。
三、NativeJ。
說明:與 exe4j 功能類似。
軟件性質:共享軟件
下載地址:http://www.dobysoft.com/products/nativej/download.html
四、Excelsior JET。
說明:可以直接將 Java 類文件製作成 exe 文件,除 AWT 和 Swing 及第三方圖形接口外可不需 jre 支持(Java5.0不行)。
軟件性質:共享軟件
下載地址:http://excelsior-usa.com/home.html
五、jshrink。
說明:可將 Jar 文件打包進 exe 文件。 同時具有混淆功能(這才是它的主要功能)。
軟件性質:共享軟件
下載地址:http://www.et.com/jshrink.html
六、InstallAnywhere。
說明:打包工具,對 Java 打包最好用。 可打包成各操作系統運行包。 包括 Windows 系統。
軟件性質:商業軟件。
下載地址:http://www.zerog.com/
七、InstallShieldX。
說明:與 InstallAnywhere 類似,但比 InstallAnywhere 功能強大。 相對的,比較複雜,不易上手,我現在還沒學會。
軟件性質:商業軟件。
下載地址:http://www.installshield.com/ |
|