####Java 用 exe4j 打包生成 .exe 文件:
exe4j.exe 下载地址 : http://www.hjy273.com/exe4j/exe4j_windows_4_1_1.exe
它要求系统有 1.5 版本以上的 JDK ,点 Download 在线下载,如果你的机器上有 JDK ,点 Locate 找到你机器上已安装的 JDK 目录下 /bin/java .exe 就可以进行安装了。
下面就安装过程详细说明一下:
第 1 步,默认即可。
第 2 步,如果已经有制作好的 jar 文件,则下面一个 "JAR in EXE " 。
对于打包 jar 文件,在 eclipse 中右击项目选导出即可,不会制作 jar 文件可以给我留言
第 3 步,上面是项目名称,可随便填写,下面一个写出你想要将打包后的 exe 文件输出的目录:
第 4 步,由于我的演示程序是图形的,所以选第一个,如果你的程序是控制台的,则选择第二个, Executable name 写你将要生成的 exe 文件的名字, Icon File 可以选择生成文件的图标
第 5 步,首先,单击绿色的 "+" 号,在弹出的窗口中点 Archive ,然后找到起初已经做好的 jar 文件, "OK" 后返回,在下面的 Class Path 里就出现 jar 文件路径后,再在上面 Main Class 栏内点击找到 main 所在的类,这一步即算完成:
第 6 步,你系统的 JRE 版本,上面填个 1.3 ,下面填 1.6 :
当然,这样配置的程序只能在安装有 JRE 的机器上执行,发布时总要考虑的问题就是用户是否有能力在自己机器上安装 JRE ,总不能发布一个程序还要用户自己安装个 JRE 吧,下面我就介绍如何将 JDK 环境变量动态打包到 exe 中,在这里单击 advanced options ,选择 search sequence 。如图:
首先把 JRE 复制到 exe 文件输出的目录里,我用的是 c:/xaocker/ ,在弹出的窗口中,删除列表中所有项,然后单击绿 + ,选择 directory 并选择 JRE 的根目录 ( 注意是拷贝后的目录 ) 即可 , 如图:
单击 ok 后,再从图中单击 advanced options ,并选择 preferred VM ,在弹出的窗口中选择 client hostspot VM ,单击 next 按钮继续:
第 7 、 8 步是一些基本配置,默认即可,第 9 步编译,第 10 步你就可以点这个看到效果了:
exe4j 未注册的版本会出现下面的对话框:
点击确定之后就可以看到你程序的运行结果了!
java.exe 依照一套逻辑来寻找可以用的 JRE ,首先查找自己所在的目录下有没有 JRE ,其次查找自己的父目录下有没有 JRE ;最后才是查询 Windows 的注册表。
现在我们的程序可以在任意的计算机上执行了,可是缺点是致命的,比方说我的程序才 160K ,可是不论走到哪里都要背着 70 多 M 的 JRE ,未免有点小题大做吧,其实作为我们的私有的 JRE ,好多内容都是可以抛弃的。 Jre 目录下的 license 都可以不要, bin 下的执行文件只需要保留 java.exe 或者 javaw.exe , lib 下只要保留 rt , jsse , jce , charsets 几个库就可以了。除了 i386 和 zi 两个子目录外,其余的子目录都可以不要。 Zi 下只需要保留自己地区的子目录和其下的一些文件就可以。 Lib 下除了库之外的属性文件等等都要保留。这样清理一番, JRE 仍然有接近 50MB 。还可以继续清理几个库文件里面不需要的内容,这需要仔细的整理,会很费功夫。最好能写出一个自动工具帮助我们整理它们。从 Sun 公司上下到的 JMF 里面附带的用 Java 写的媒体播放器就自带了 JRE ,只有几个 MB 。
清理过后需要运行几遍我们的应用程序,以确保我们的 JRE 不缺少东西。
OK ,仔细清理之后,文件变小了不少,可以发布了……