??? 可以把普通的
Java
程序做成真正的
exe,
也就是單一個(gè)
exe
就可以在沒(méi)有安裝
JVM
的機(jī)器上運(yùn)行。這樣的工具常見(jiàn)的有
JET
和
gcj.
前者是收費(fèi)的,而且做出來(lái)的
exe
還是需要一堆
dll
。推薦使用
gcj.
他有
windows
和
Linux
版,直接下載
zip
包,不需要安裝,里面有不少例子,一些
build
的批處理文件。從原理來(lái)說(shuō)
gcj
自己實(shí)現(xiàn)了
JVM
規(guī)范,也就是你編寫一個(gè)
HelloWorld.java,
其中的
main
方法為
System.out.println("foo");
當(dāng)使用
gcj
把它做成
exe(
大約
其實(shí),把
Java
做成純
exe
實(shí)在是吃力不討好,有很多限制,文件又大。
我比較傾向另幾種做法:
.
使用
InstallAnywhere
等工具,制作一個(gè)
exe
的安裝包
用戶可以選擇使用他機(jī)器上的
JRE
或是這個(gè)安裝包內(nèi)的
JRE
來(lái)運(yùn)行程序
這是很常見(jiàn)的一種做法,如
JBuilder
就是這么做的。
這樣的好處是不要求對(duì)方機(jī)器上裝有
JRE
,而且你原來(lái)的程序不需要任何改動(dòng)。
InstallAnywhere
中一個(gè)壓縮的
JRE
大概是
.
制作成可執(zhí)行的
jar,
也就是在
META-INF
的
MANIFEST
文件制定
Main-Class
可以通過(guò)命令行
java -jar jarfile.jar
來(lái)執(zhí)行,
windows
默認(rèn)的把
*.jar
使用
javaw -jar
打開(kāi),所以有些機(jī)器上可以直接雙擊
jar
運(yùn)行。
.
制作偽
exe,
其實(shí)和上一種做法是一樣的,只不過(guò)做成
exe,
調(diào)用系統(tǒng)的
java.exe
來(lái)運(yùn)行它,這樣的工具有
nativeJ,exe4j
等
其實(shí)
Java
不像
VB,Delphi
只是一個(gè)語(yǔ)言,而是一個(gè)平臺(tái)。
jar
是最常用的部署單元,做成
exe
沒(méi)什么意思。
一、
exe4j
。
???
說(shuō)明:
exe4j
可以將
Jar
文件制作成
exe
文件,但需
jre
支持,也可將
Jar
文件放在外面。
???
軟件性質(zhì):共享軟件
???
下載地址:
http://www.ej-technologies.com/products/exe4j/overview.html
二、
JBuilder
。
???
說(shuō)明:新版本的
JBuilder
可以直接把工程制作成各系統(tǒng)的可執(zhí)行文件,包括
Windows
系統(tǒng)。
???
軟件性質(zhì):商業(yè)軟件
???
下載地址:略。我是從
eMule
下載的。
三、
NativeJ
。
???
說(shuō)明:與
exe4j
功能類似。
???
軟件性質(zhì):共享軟件
???
下載地址:
http://www.dobysoft.com/products/nativej/download.html
四、
Excelsior JET
。
???
說(shuō)明:可以直接將
Java
類文件制作成
exe
文件,除
AWT
和
Swing
及第三方圖形接口外可不需
jre
支持(
Java5.0
不行)。
???
軟件性質(zhì):共享軟件
???
下載地址:
http://excelsior-usa.com/home.html
五、
jshrink
。
???
說(shuō)明:可將
Jar
文件打包進(jìn)
exe
文件。同時(shí)具有混淆功能(這才是它的主要功能)。
???
軟件性質(zhì):共享軟件
???
下載地址:
http://www.e-t.com/jshrink.html
六、
InstallAnywhere
。
???
說(shuō)明:打包工具,對(duì)
Java
打包最好用。可打包成各操作系統(tǒng)運(yùn)行包。包括
Windows
系統(tǒng)。
???
軟件性質(zhì):商業(yè)軟件。
???
下載地址:
http://www.zerog.com/
七、
InstallShieldX
。
???
說(shuō)明:與
InstallAnywhere
類似,但比
InstallAnywhere
功能強(qiáng)大。相對(duì)的,比較復(fù)雜,不易上手,我現(xiàn)在還沒(méi)學(xué)會(huì)。
???
軟件性質(zhì):商業(yè)軟件。
???
下載地址:
http://www.installshield.com/