JAVA程序打包成exe文件详细图解
我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。其实将java程序打包成exe也需要这个可执行jar文件。
准备:
eclipse、exe4j(网上有软件和帐号下载)
第一步,将java项目打包成可执行jar文件
首先看一下我的java project结构,Main.java是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库
开始打包,Simulate(Java项目)-鼠标右键-Export
弹出窗口,选择“JAR file”,点击“Next”
取消勾选“config”和“lib”目录,以及eclipse生成的项目配置文件“.classpath”和“.project”,点击“Next”
一切默认,点击“Next”
在弹出窗口中,选择我们自己创建的MANIFEST.MF文件,点击“Finish”
我的MANIFEST.MF文件内容为:
Manifest-Version: 1.0 Main-Class: bing.Main Class-Path: . lib/ojdbc14.jar lib/poi-2.5.1.jar lib/jbcl.jar lib/JTattoo.jar lib/liquidlnf.jar Created-By: IceWee
通过指定“Main-Class”来达到可执行jar文件的目的。其实我们最终是将项目打包成exe,Class-Path可以不指定,在打包exe的时候还要指定classpath的。
第二步,将项目打包成exe
这里要明确一点,并不是把所有的文件都打包成一个exe,资源文件是不能包进去的,往下看↓
首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在F盘创建了一个“Simulate”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的Simulate.jar)都拷贝到这个文件夹里,config目录和lib目录,为了便于在其他机器上正常运行(我就在这个问题上出错过,所以希望读者可以直接避免),同时将安装的JAVA目录(例如:C:\Program Files\Java)下的jre5整个文件夹拷至该文件夹下,最后的目录结构:
在打开exe4j之前先注册
(转自http://wangyali90516.blog.163.com/blog/static/117205101201232641920294/)
exe4j是个很好的打包利器,官方下载地址:http://www.ej-technologies.com/download/exe4j/files.php
如果你不注册,打包好的软件每次启动都会报:this executable was created with an evaluation version of exe4j ,特烦人,所以最好下载exe4j的破解版,但是有注册码,官方软件毕竟比破解版好用,下面的注册码经测试,均可以使用.
用户名和公司名可随便填
A-XVK258563F-1p4lv7mg7sav
A-XVK209982F-1y0i3h4ywx2h1
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
A-XVK222711F-134h5ta8yxbm0
A-XVK275016F-15wjjcbn4tpj
A-XVK275016F-15wjjcbn4tpj
打开exe4j,跳过欢迎,直接点击左侧导航的第二项,因为我们已经提前将java项目打包成可执行jar文件了。
在弹出窗口,选择“JAR in EXE mode”,点击“Next”
在新窗口中,为我们的应用取个名称,之后选择exe生成目录(我的F:\Simulate),点击“Next”
为我们要生成的exe取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single...”,点击“Next”
先点击
点击绿色“+”,设置程序运行的Class Path
先选择我们自己的可执行jar文件(我的Simulate.jar),点击OK
我们的Simulate.jar就加到Class Path下了
然后继续:
之后点击General中的Main Class选择按钮,在弹出窗口中,exe4j会自动搜索当前Class Path下的全部jar中包含main方法的类,并列出,因为当前我只选择了自己项目的jar,而我的项目中只有Main.jar包含了main方法,所以一目了然,直接选择它点击“OK”,程序入口类就设置完成了
Main Class设置完成后,依次将所有需要的第三方类库加到Class Path下,方法同添加“Simulate.jar”一样,点击“Next”
输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,
选这个就是因为我们要把 JDK 环境也打包进来,好让程序能跨平台使
用。首先要从你系统的 JDK 下的 JRE 目录 copy 到你.exe 文件的输出目录下“桌面
project\JRE” ,然后回到 exe4j 中在弹出窗口删除 列表中的所有项。我的是三项,一个注册
表的, 一个 JAVA 环境变量的, 一个 JDK 环境变量的, 都不要。 然后单击绿 “+” , 选择 directory
并选择 JRE 的根目录,我的是“桌面\project\JRE”就是 copy 后的目录,选完后 exe4j 弹
出窗口中的 Directory 里会显示“. \JRE” 。点 OK 关闭该窗口,返回 exe4j 的主窗口,你就
可以看到刚加的路径。再从主窗口左侧窗口中单击 advanced options,并选择 preferred VM ,
在弹出的窗口中选择 clienthostspot VM,单击 next 按钮继续。
点击绿色“+”来选择捆绑的JRE位置
在弹出对话框中选择“Directiony”,之后选择JRE的文件夹,注意:这个JRE目录是我们将本机的JRE目录拷贝到当前exe生成目录下的,我的目录是F:\Simulate\jre5,下图程序使用的是相对目录,点击OK,完成JRE的捆绑操作
JRE捆绑完毕,点击“Next”
选择Client hotspot VM,点击“Next”
默认,点击“Next”
默认,点击“Next”
exe生成中
OK,完成,点击“Exit”即可
看看成果如何吧!
我们的可执行jar以及第三方jar总共还不到5M,可jre5目录就50多M,如果目标机器上有JRE环境就可以把它删掉了,lib目录是第三方jar文件,现已打包到exe中了,所以它也没有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目录了!
转载于:https://www.cnblogs.com/aligege/p/7346154.html
JAVA程序打包成exe文件详细图解相关推荐
- 如何把一个java程序打包成exe文件,运行在没有java虚
如何把一个java程序打包成exe文件,运行在没有java虚 核心提示:首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了:但是exe文件在没有安装jre的电脑上不能运行,如果要 ...
- 如何将java程序打包成exe文件?
本文主要介绍如何使用exe4j对java程序进行exe打包. exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面 ...
- Java项目打包成exe的详细教程
Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...
- java程序打包成exe安装包总结
经过很长时间的尝试,终于大致清楚了java程序打包成exe的过程,特做此总结. 首先打包成exe文件有两种方式,一种是通过javafx本地打包的方式,参考文章https://code.makery.c ...
- 利用exe4j将java程序打包成exe可执行文件
利用exe4j将java程序打包成exe可执行文件 一直在用exe4j,很好用,包括现在电脑中很多在使用的java程序,都是用exe4j打包的,所以也想做一些博客,来跟小伙伴们一起分享我的学习,让大家 ...
- 把Java程序打包成jar文件包并执行
把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...
- java 程序包jar_把Java程序打包成jar文件包并执行
把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...
- java打包成jar_把Java程序打包成jar文件包并执行的方法
本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...
- java 程序打包成jar_把Java程序打包成jar文件包并执行的方法
本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...
- 怎么把java源代码封装,如何把JAVA程序封装成EXE文件
如何把JAVA程序封装成EXE文件 可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行.这样的工具常见的有JET和gcj.前者是收费的,而且做出来的exe还 ...
最新文章
- Windows Azure Tools DSInit Error
- jemter在linux上怎么安装_办公便签软件怎么下载?怎么在电脑桌面上下载安装一款办公便签软件...
- Mysql主从延时解决办法
- 《机器学习实战》程序清单3-4 创建树的函数代码
- 容斥 - HDU 4135 Co-prime
- oracle 数据库文件丢失
- oracle 某一字段取反
- 还在用iTunes管理iPhone这款软件帮你轻松解决
- html标签的英文全拼,HTML标签全称对照
- Datalogic 得利捷推出QuickScan™ QW2500系列二维扫描枪和Matrix™ 320 系列新机型
- cursor图标自定义
- 目标客户画像_怎么进行目标人群的用户画像分析 - 爱盈利
- 初级、中级和高级开发人员之间有什么区别?
- 空间点到空间直线的垂点计算
- 46-Java-RabbitMQ
- photoshop保存哪种格式的图像最清晰
- 三伏天不能吃冷饮?7月这些蜚语你中招没
- android直播流渲染,Android手机直播之处理技术分析
- kettle安装及使用
- 51nod-生产口罩(拓补排序+DP)by zyz
热门文章
- php将excel日期转成时间戳,使用PHP将Excel日期编号转换为Unix时间戳时不匹配
- mysql最长字段_在mysql中使用GROUP BY时,如何选择最长的文本字段?
- 【C++入门】C++ List类
- I/O写入的原子性(Double Write)
- Vmware虚机机挂起后无法远程连接
- scala method与function的区别
- 详解如何基于Arduino兼容板Teensy LC实现虚拟键盘与鼠标
- 比特币现金和ICO 及其他6个加密在泰国获准交易
- BZOJ2820:YY的GCD
- JS中的showModelDialog详解和实例