手把手教你把Jar打包成exe,并且在没有jdk环境的电脑上运行
由于公司业务需求原因,让我一个做安卓app的来做一个windows桌面应用程序,由于对JAVA熟,项目周期紧,所有就没有考虑别的语言。然后前进的道路并没想象中那么顺畅,找了不少帖子,用了三款打包工具(1,exe4j;2,JSmooth 3,Launch4j)都不成功,就是打包出来的exe一直都无法再没有Java环境的电脑上运行,
好了废话不多说 直接上干货,
准备工作
第一步
- 将你的Java项目打包为 可执行Jar 这里就不赘述怎么打包jar了。打包的jar 到文件所在路径下打开cmd 运行java -jar 名字.jar检验是否 可以独立运行,就可以进行下一步操作了。
第二步
- 下载一个exe4j,自行百度搜索exe4j就行;小生 这里也提供一个官网下载链接 >>Exe4j官网下载地址<< 下载后需要**,提供几个**码
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
- 新建一个文件夹,将jre与jar包放在同目录下,找到自己需要的jre运行环境的文件夹,一般都是放在jdk文件夹的目录下,如果个人觉得整个jre文件夹太大的话可以自行搜索下载精简的jre,接下来用的是完整版的jre进行示范,在桌面上创建一个文件夹,然后把jar包和jre复制放在该文件夹下的同一个目录下,注意:一定要同一个目录下!
-
此刻exe4j应该也已经下载好了,点击运行
- 然后选择"JAR in EXE"mode,直接next
- 第一个空格是自己需要的应用名字,我们取名为PlaneGame,第二个空格要选择到我们刚才所创建的文件夹,这点非常重要!!!选好直接next.
- 再次输入应用的名字,如果你想你的应用程序只能运行一个实例的话可以把图中第二个红色框框里的内容勾上,然后点开第三个红色框框里的选项.(ps:Icon File选上可以选择设置你要生成exe程序的图标.)
- 点击Advanced Options 下拉框选择Redirection 如果你不想生成应用程序相关的报错日志,请把图中的勾去掉
- 如果你要生成64位的应用程序,记得在图中勾选64位
- 其他不用管可以next到第五步Java invocation!点击右边绿色的加号选择刚才创建的文件夹下的jar文件
- 点击Main Class右侧的按钮来选择你的启动类,next
- 最低版本这里貌似一定要填,最高版本可以不填,然后在选择第二个红色框框里的内容
- 进来后看到这个应用程序的jre加载顺序的**册表,点击右侧的叉叉,把它们全都删除掉,点击绿色的加号选择刚才创建的文件夹下的JRE!!!这时候我们看到出来的目录是.\jre1.8.0_161.这样在相对路径下才可以将程序安装到别的电脑上能够找到jre,选择好后点ok直接next
- 接下来的都不用管,一直next到第十步然后退出
- 接下来打开刚才我们创建好的文件夹,运行exe程序,如果提示什么JVM,JRE,JDK找不到什么的,那就要将刚才上面的步骤重新操作下,看下选择路径的操作选择错了没,如果运行成功了,那么恭喜你已经打包成功一半了.
第三步
- 下载一个Inno Setup,运行
- 这里是至关重要的一步,选择我们刚才在Demo文件夹下生成的exe文件,然后选择"添加文件夹",注意路径是选择到Demo,是Demo,不是Demo下的jre,选好后然后直接下一步
- 点击完成,然后它会提醒你是否根据刚才的设置自动生成脚本文件,或者直接点击现在编译就可以了,或则如果没点击到图中的运行按钮也是ok的!好了大功告成