工具:eclipse,exe4j,jre,这三个都可以直接在官方网站下载,下面所用到的都是最新版的。

前期准备:用eclipse编好需要生成.exe文件的project,另外exe4j需要一个注册码,不然每次使用生成的.exe文件都会有提示框,印象中是在给自己打广告,这程序是exe4j做的巴拉巴拉,可以在官网上购买,还挺贵的,400多?不过没有必要下载破解版,exe4j和当初的winxp都有几个可以无限使用的注册码(听说这是公司为了推广自己的产品故意放出来的,我没经历过xp的年代,第一台电脑是vista系统,属于道听途说)。也不用感觉没花钱特别良心上过不去。这里给出一个:A-XVK258563F-1p4lv7mg7sav

填注册码的位置按钮大概就在画圈的地方,没填的时候会有个License按钮,Name和Company随便填。

现在第一件事情就是生成jar包,在eclipse上选中想要生成.exe文件的project,右键单击,选择Exprot,弹出Exprot任务框,选择Runnable JAR file ,next。JAR file 和 Runnable JAR file的区别可以参考:http://blog.csdn.net/lijiecong/article/details/6266234  。接下来弹出Runnable JAR File Exprot 任务框,Launch configuration 选择自己的主类,Exprot destination 中选择输出地址。其他都是可选项根据自己的需要操作,也可以直接next。成功后就可以直接关了eclipse了,可以运行一下jar包,看下是否正确。说一下-c 20是我的程序所需要的相关参数。具体操作如下

然后准备好jre接下来用得到:特别说明下jre一定要和生成的.exe文件放在同一个文件夹里

现在就可以开始利用exe4j生成.exe的可执行文件:

welcome界面要输入注册码的输入注册码,不然直接next。

Choose project type界面选择 JAR in EXE mode,没什么好说的,刚刚一直做的就是生成jar包。

到了Configure application输入short name of your application(Short name (短名称),这项会在面板里显示出来,填的内容越少越好,多于8个字符或4个中文,就会显示不全。--有道) ,以及选择Ouput directory,生成.exe文件所在的位置。

Configure executable 界面,Executable type要根据自己的情况选择,我的是控制台输入选择Console application,输入Executable name(可执行文件名),其他是可选项,提一下,貌似Icon File只能接受.icon类型的图片

接下来如果是在64位的虚拟机运行的程序,Generate 64-bit executable记得打勾

再接下来导入jar包,点击右边的+号按钮,Entry Type选择Archive,Detail 找到jar包,选中,next。选完后要记得选择选择main方法。Arguments for main class 可选,传递给main方法的参数。

选择jre版本,没什么好说的。

最重要的一步导入jre,才能使.exe运行在没有java环境的电脑下。选择玩JRE版本后exe4j会直接跳到Splash screen,这时候要点击JRE,再点击Search sequence,导入的方法和导入jar包差不多,记得Entry Type选择Directory.

这里我选择Client hotspot VM 具体可以参考另一位大神的文章:http://blog.csdn.net/h002399/article/details/46964569

然后如果是没有特殊要求的程序就可以一路next了。

最后结果加执行。

但是现在还不是我需要的结果,我需要在没有java环境下运行:我先卸载了jdk(丧心病狂),下图是我现在电脑里的程序,继续运行生成的.exe文件,完美运行。

继续提问,exe不要和jre在一个目录下可以单独运行吗?答案是不行。

好了,关于java生成可执行文件暂时就到这里。该去睡觉了,明天还得重装jdk。

最新文章

  1. vue2.0实践的一些细节
  2. Android Studio JNI 开发简单案例
  3. 转帖:Python应用性能分析指南
  4. Y2161 Hibernate第三次考试 2016年8月18日 试卷分析
  5. daterangepicker 双日历/格式化日期/日期限制minDate,maxDate
  6. VS2010遇到_WIN32_WINNT宏定义问题
  7. Java文件操作 读写操作
  8. Android_按钮被按下效果的实现(selector选择器)
  9. 对于Hadoop的MapReduce编程makefile
  10. BOM之history对象
  11. JAVA网络编程TCP通信
  12. Unity User Group 北京站图文报道:《Unity虚拟现实实战技巧》
  13. bzoj2151 种树 双向链表+堆
  14. 有一台机器,上面有m个储存空间。然后有n个请求,第i个请求计算时需要占 R[i]个空间,储存计算结果则需要占据O[i]个空间(据O[i]个空间(其中O[i]<R[i])。问怎么安排这n个请求的顺序,使
  15. IP路由及静态路由配置
  16. Cannot obtain the required interface ("IID_IDBCreateCommand") from OLE DB provider "OraOLEDB.Oracle" for linked server xxxx
  17. Vue2 第三天学习
  18. php 配置文件不加载的一次配置
  19. http statusCode(状态码)含义
  20. 【一】php 基础知识

热门文章

  1. 给View添加手势,防止点击View上其他视图触发点击效果
  2. Unity快速接入SDK框架
  3. .NET访问数据库的两种方式(C#语言)
  4. 关于Spring总结
  5. MD5加密工具
  6. Qt实现九宫图类控件
  7. NI笔试——大数加法
  8. 齐博cms 7.0 漏洞分析
  9. iOS 开源一个高度可定制支持各种动画效果,支持单击双击,小红点,支持自定义不规则按钮的tabbar
  10. Python读写文件的路径,关于os.chdir(path)位置对程序的影响,