一、首先下一个exe4j 。它是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具。
它的安装和使用可参考:http://hi.baidu.com/jsoftware/blog/item/c483eadd2d98b5315882dde6.html ,写的很详细。
这篇帖子也值得一看:http://topic.csdn.net/u/20080709/08/c892b6ce-db86-434b-a969-20a524817786.html。楼主最后的结论让我茅塞顿开:
“1、exe4j是不可以将jre直接打包进exe中去的。但exe4j提供了一个搜索jre路径,这个路径可以是系统的环境变量,也可以是注册表,也可以是具体的某路径。
由于要实现在没有jvm的电脑上运行,搜索环境变量与注册表自然是无用功的了,所以只能搜某路径的。把jre的路径,加进去,就行了。但要注意一点:不然用绝对路径哦。我之前就是用绝对路径,导致无效的,而走了弯路的。比如可以用:./jre
2、打成安装包时,要将生成的exe文件与jre一起打包。为了确认打完包,可以用,在没打包之前,点该exe文件,要确认能运行,不然打包要白忙了。
”
二、 这是我的程序文件的截图:
那个tank.jar 是用MyEclipse 将程序导出的jar文件,jre 就是你的机子上安装的jre目录直接拷过来的。你要想让你的程序在别人没装jre的机器上运行,就得把jre拷到你的项目下。
三、在用exe4j的时候,关键就是设置jre那步
把这些默认的查找目录去掉,点绿色的“+”,
把你拷到项目下的jre选上。这样下去一直点下一步,基本就ok了。
可以看到我的目录下多了个它生成的 MyTank.exe。
把这下面的所有东西用WINRAR打包,到别人没有jvm的机子上,解压,双击就可以运行了。我之前很SB地只把那个.exe文件拷过去,怎么也运行不了,呵呵(连jre都没有,怎么运行?所以刚才那个配置jre的过程就是让它能找到jre,你自带的jre)。
四、 我用winrar打包后大小是31.8M ,然后我又试了试用Inno SetUp 将它打包成一个安装包,大小是20.1M。
Inno SetUp的使用很简单,不过我还是犯了一个错误,
在下面的“其他应用程序文件”中,只需要选“添加文件夹”,选择你的项目的根目录,在弹出的“是否将子文件夹中的文件也包括在内”对话框选是,就可以了。我之前点“添加文件”,然后把目录下的文件都选择,导出得到的.exe文件虽然也是20.1M,却不能运行。我检查了一下,添加文件的时候没有把项目下的文件夹添加进去,于是我又点“添加文件夹”,把文件夹也加进去,结果还是不行。记住了!!!只需要选“添加文件夹”,选择你的项目的根目录就行。