`
v5qqbrowser
  • 浏览: 356897 次
文章分类
社区版块
存档分类
最新评论

java成打包成exe-在任意windows上运行

 
阅读更多

一直都有一个困扰,就是自己写的java程序只能在有JRE的环境下才能运行,这个问题对于程序的发布是致命的,好在今天,这个问题终于解决啦,方法来自一篇上好的Blog,索性转一下:

--------------------------------------------------------------------------------------

转自:http://apps.hi.baidu.com/share/detail/6346080

--------------------------------------------------------------------------------------

打包工具exej4的使用方法(含一起打包JRE)

exe4j.exe下载地址:http://download.ej-technologies.com/exe4j/exe4j_windows_4_0_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,仔细清理之后,文件变小了不少,可以发布了……

-------------------------------------------------------------------------------------------------

下面简单说一下,Eclipse打包jar的方法:

各种编程工具都可以做JAR包,我用的是Eclipse,非常容易:








分享到:
评论

相关推荐

    android APK反编译工具Apktool

    3.解压apktool-install-windows.zip到任意文件夹,把apktool.jar 到该文件夹下 4.点击开始菜单,运行,输入CMD回车,用cd命令转到刚刚解压apktool-install-windows所在的文件夹,输入apktool,出现一些命令说明即...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    《Java-web程序设计》教案.doc

    基本上可以在所有平台上的任意环境中开发,在任意环境中进行 系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。 强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器 进行...

    java动态日志注入工具anylog.zip

    anylog 是一个可以在代码的任意区域无入侵地加入日志的工具,适用于线上问题排查。 anylog 为开发人员提供一个易于使用的平台,帮助开发人员在正在运行的系统中随时加入自己想要的日志,而免于修改代码和重启。 ...

    易语言程序免安装版下载

     静态编译后的易语言可执行程序(exe)和动态链接库(dll),运行时不再依赖任何支持库文件,文件尺寸更小(相对以前的独立编译),PE结构更合理(取消了“易格式体”),加载速度更快,而且有效解决了“病毒误报”和...

    Dodo APK Tools(Android程序反编译器)

    直接下了这个,解压到任意文件夹下装了Java,把里面的apktool.jar和signapk.jar复制到了C:\Windows里面(不知道是不是必须的哈,网上看的),再运行apktool.exe就可以反编译了,反编译出来是个文件夹,打开里面的...

    网管教程 从入门到精通软件篇.txt

    如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart  创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。  diskpart [ /add |/delete] [device_...

    APKTool批处理版l

    我们秩序对有关图片和语言资源等文件进行修改,再编译打包成APK并签名,就可以得到汉化版的APK软件了。 二、搭建汉化环境 由于APKTOOL工具是用Java编制的,因此需要电脑中安装了JRE或者JDK(JAVA工具,用JRE即可)...

    Tcl_TK编程权威指南pdf

    尽管它是个商用软件包,但你也可以在Internet上找到它(见第VII页),而且可以在自己的应用程序中自由使用这个软件包。Tcl解释器已经从Unix平台移植到了DOS、Windows、OS/2、NT以及Macintosh环境中,而TK工具包也从X ...

    asp.net知识库

    在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库...

Global site tag (gtag.js) - Google Analytics