從獲得一個TowerJ編譯器
該編譯器可以將你的CLASS文件編譯成EXE文件
利用微軟的SDK
Java
所提供的jexegen
exe創建EXE文件
這個軟件可以從微軟的網站免費下載
地址如下
jexegen的語法如下
jexegen /OUT:exe_file_name
/MAIN:main_class_name main_class_file_name
class
[and other classes]
Visual Cafe提供了一個能夠創建EXE文件的本地編譯器
你需要安裝該光盤上提供的EXE組件
使用InstallAnywhere創建安裝盤
使用IBM AlphaWorks提供的一個高性能Java編譯器
該編譯器可以從下面的地址獲得
JET是一個優秀的Java語言本地編譯器
該編譯器可以從這個網站獲得一個測試版本
Instantiations公司的JOVE
JOVE公司合並了以前的SuperCede
一個優秀的本地編譯器
現在SuperCede已經不復存在了
JToEXE
Bravo Zulu Consulting
Inc開發的一款本地編譯器
本來可以從該公司的網頁上免費下載的
不過目前在該公司的主頁上找不到了
公司主頁
下面這個FTP上曾經有過這個軟件
不知道現在是不是還在
ftp:///pub/java/tools/jet
jbuilder
這個是Borland不公開的使用技巧
能夠通過JBuilder來制作exe文件來啟動Java文件
JBuilder並不支持本地編譯機制
但是有一個隱藏的技巧可以讓你從可執行文件來啟動Java程序
可以出現或者不出現console窗口
想做到這些
需要JBuilder的bin目錄下的這些文件:
JBuilder
exe
JBuilderW
exe (可選)
nfig
nfig
JavaLauncher
dll
JBuilder
exe
是一個通用的可執行外殼文件
用以啟動Java程序
JBuilderW
exe
好像是javaw
exe一樣
它把
JBuilder
exe
包裝起來
但是運行時候不顯示那個console的窗口
使用這些文件的關鍵是文件名
JBuilder
exe
查找一個文件叫
nfig
的配置文件
裡面包含了運行Java程序的必須信息
同樣的
JBuilderW
exe
查找
JBuilder
exe
來啟動不帶Console窗口的Java程序
如果把JBuilder
exe重命名為
foo
exe
那
foo
exe
將去尋找
nfig
配置文件
同樣
JBuilderW
exe
被重命名為
fooW
exe
它會去尋找
foo
exe
文件
說到這裡
聰明的讀者應該猜到怎樣利用JBuilder
exe來啟動應用程序了
只要把JBuilder
exe
JBuilerW
exe
nfig改名成相應的文件名
在nfig裡面指定主類和類路徑
就能夠通過執行JBuilder
exe(或者被改名後的exe文件)來啟動Java應用程序了
下面是用本機為例
Borland JBuilder
被安裝在E:\jbuilder
\目錄下
在E:\jbuilder
\bin\下建立一個temp目錄
然後把JBuilder
exe
nfig
JavaLauncher
dll
nfig四個文件拷貝到E:\jbuilder
\bin\temp\目錄下
然後在這個目錄下建立一個hello目錄
在這個目錄下生成一個hello
java文件
即E:\jbuilder
\bin\temp\hello\hello
java文件
file://hello
java/
package hello;
public class hello{
public static void main(String s[]){
System
out
println(
Hello
Exe file!
);
}
}
編譯成class文件
然後打開nfig文件
作相應的修改
在nfig裡面找到下面兩行
# Start JBuilder using the its main class
mainclass com
borland
jbuilder
JBuilder
修改為
# Start JBuilder using the its main class
mainclass hello
hello
addpath E:/jbuilder
/bin/temp/
addpath命令是把目錄加入類路徑中
這個命令和其它config裡面可以識別的命令可以在JBuilder/bin目錄下的config_readme
txt裡面找到詳細說明
然後將nfig裡面的javapath修改成相對的路徑
例如原來是
javapath
/jdk
/bin/java
修改成
javapath
/
/jdk
/bin/java
最後
將JBuilder
exe
nfig修改成所需要的文件名
例如foo
exe和nfig文件
現在執行foo
exe文件
至此
通過修改JBuilder來使用exe文件啟動自己的Java應用程序已經完成了
但是好玩的地方並不在這個地方
下面的小技巧可能更有趣
將Jar文件打包進入exe文件!
假設利用上面的文件
生成hello
jar包
jar cvf hello
jar hello\*
class
然後將jar包附加到JBuilder
exe後面去
copy /b
\JBuilder
exe+hello
jar foo
exe
在nfig(nfig)文件裡面把前面加入的類路徑去掉
並加入下面的路徑
addpath E:/jbuilder
/bin/temp/foo
exe
然後執行
foo
exe
看到了麼?一個含jar包的exe文件被執行了!
這個過程的大致原理是
exe文件的重要信息都在文件頭部
所以把亂七八糟的東西放exe文件尾部是不要緊的
而jar/zip文件的重要信息是在文件尾部的
這樣它們兩不相干
能夠容易的被執行
請注意
讀者如果使用這個功能
得自己承擔可能帶來的風險
因為Borland對這個功能不提供官方的支持!
From:http://tw.wingwit.com/Article/program/Java/Javascript/201311/25373.html