工具: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。

java--利用exe4j生成.exe的可执行文件的更多相关文章

  1. java应用程序利用Exe4j打包exe文件

    1.      使用简介: 把java应用程序打成exe文件我们可以借助第三方软件exe4j来完成.Exe4j大家可以在网上下载,下载地址是: http://www.ej-technologies.c ...

  2. 如何解决exe4j生成exe文件后弹出提示信息

    使用exe4j生成exe文件时会提示以上一段信息,这个主要是没有注册导致的,在welcome to exe4j的右下角有一个注册信息的地方,去找个注册码,就OK了. 通用注册码:L-g782dn2d- ...

  3. Java利用poi生成word(包含插入图片,动态表格,行合并)

    转(小改): Java利用poi生成word(包含插入图片,动态表格,行合并) 2018年12月20日 09:06:51 wjw_11093010 阅读数:70 Java利用poi生成word(包含插 ...

  4. Java利用Zxing生成二维码

    Zxing是Google提供的关于条码(一维码.二维码)的解析工具,提供了二维码的生成与解析的方法,现在我简单介绍一下使用Java利用Zxing生成与解析二维码 1.二维码的生成 1.1 将Zxing ...

  5. windows文本转语音 通过java 调用python 生成exe可执行文件一条龙

    我已记不清 我失败过多少次 ,找过多少资料 ,但是功夫不负有心人 ,还是成功了. 所有资料和需要的语音模块的资料以放置在文章末尾, 有些是引用别人的博客的部分内容, 原文是在有道云笔记,所以没有图,请 ...

  6. java调用matlab生成exe文件

    一.Matlab生成Java Package 1.在MATLAB的Command Window输入deploytool命令,选择Library Compiler. 2.在弹出的窗口选择Java Pac ...

  7. 利用pyinstaller生成exe文件碰到的一些问题及解决方法

    在“开源图像标注工具labelme的安装使用及汉化”这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件,可以在Windows ...

  8. 利用pyinstaller生成exe之后,运行不能正常产生结果文件问题记录

    https://segmentfault.com/q/1010000011284617/a-1020000011493026 在此链接已解决问题,现在在这里在详细记录一次 问题描述: 利用pychar ...

  9. Java利用模板生成pdf并导出

    1.准备工作 (1)Adobe Acrobat pro软件:用来制作导出模板 (2)itext的jar包 2.开始制作pdf模板 (1)先用word做出模板界面 (2)文件另存为pdf格式文件 (3) ...

随机推荐

  1. bootstrap模态框远程加载网页的正确处理方式

    bootstrap模态框远程加载网页的方法 在bootsrap模态框文档里给出了这个方法: 使用链接模式 <a data-toggle="modal" href=" ...

  2. Learn c for the Second day

    十六进制对应的二进制码 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0       ...

  3. 终端管理软件tmux

    tmux - terminal multiplexer 我们在服务器上进行操作,写代码,测试,运行服务,都会用到这样的工具,以前使用GNU screen,但是在最近使用了tmux之后,我觉得tmux真 ...

  4. IAT重定向之修复

    .. 仅允许非商业转载,转载请注明出处

  5. 简析SNS社交系统"ThinkSNS V4"与"ThinkSNS+"的区别

    ThinkSNS是什么? ThinkSNS(简称TS),一款全平台综合性sns社交系统,为国内外大中小企业和创业者提供社会化软件研发及技术解决方案,目前最新版本为ThinkSNS+(简称TS+),也称 ...

  6. eclipse中配置spring环境

    初识Spring框架 1.简单使用 eclipse中配置Spring环境,如果是初学的话,只需要在eclipse中引入几个jar包就可以用了, 在普通java project项目目录下,建一个lib文 ...

  7. HTML-移动开发技巧 响应式布局 弹性布局

    移动开发常用技巧 [viewport基本知识] 设置布局viewpoint的各种信息 1.width=device-width;设置viewport视口宽度等于设备宽度 2.initial-scale ...

  8. MYSQL报错注入方法整理

    1.通过floor暴错 /*数据库版本*/ SQL http://www.hackblog.cn/sql.php?id=1 and(select 1 from(select count(*),conc ...

  9. Git的commit your changes or stash them before you can merge

    今天用git pull来更新代码,遇到了下面的问题: error: Your local changes to the following files would be overwritten by ...

  10. es6五种遍历对象属性的方法 - 表格整理

    ES6 一共有5种方法可以遍历对象的属性. (1)for...in for...in循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性). (2)Object.keys(obj) Obje ...