我们都知道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文件详细图解相关推荐

  1. 如何把一个java程序打包成exe文件,运行在没有java虚

    如何把一个java程序打包成exe文件,运行在没有java虚 核心提示:首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了:但是exe文件在没有安装jre的电脑上不能运行,如果要 ...

  2. 如何将java程序打包成exe文件?

    本文主要介绍如何使用exe4j对java程序进行exe打包. exe4j是一个帮助你集成Java应用程序到Windows操作环境的java可执行文件生成工具,无论这些应用是用于服务器,还是图形用户界面 ...

  3. Java项目打包成exe的详细教程

    Java项目打包成exe的详细教程 把Java项目打包成exe共分为以下两步: 1. 利用Eclipse先把Java项目先打成jar包 2. 利用exe4j工具把jar包转成exe 这里以Java项目 ...

  4. java程序打包成exe安装包总结

    经过很长时间的尝试,终于大致清楚了java程序打包成exe的过程,特做此总结. 首先打包成exe文件有两种方式,一种是通过javafx本地打包的方式,参考文章https://code.makery.c ...

  5. 利用exe4j将java程序打包成exe可执行文件

    利用exe4j将java程序打包成exe可执行文件 一直在用exe4j,很好用,包括现在电脑中很多在使用的java程序,都是用exe4j打包的,所以也想做一些博客,来跟小伙伴们一起分享我的学习,让大家 ...

  6. 把Java程序打包成jar文件包并执行

    把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...

  7. java 程序包jar_把Java程序打包成jar文件包并执行

    把Java程序打包成jar文件包并执行 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建的是java Project 打包步骤: ...

  8. java打包成jar_把Java程序打包成jar文件包并执行的方法

    本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...

  9. java 程序打包成jar_把Java程序打包成jar文件包并执行的方法

    本文介绍了把Java程序打包成jar文件包并执行的方法,分享给大家,具体如下: 1.首先要确认自己写的程序有没有报错. 2.第一次我写的是Web Project到现在,我一直没有执行成功,所以最好创建 ...

  10. 怎么把java源代码封装,如何把JAVA程序封装成EXE文件

    如何把JAVA程序封装成EXE文件 可以把普通的Java程序做成真正的exe,也就是单一个exe就可以在没有安装JVM的机器上运行.这样的工具常见的有JET和gcj.前者是收费的,而且做出来的exe还 ...

最新文章

  1. Windows Azure Tools DSInit Error
  2. jemter在linux上怎么安装_办公便签软件怎么下载?怎么在电脑桌面上下载安装一款办公便签软件...
  3. Mysql主从延时解决办法
  4. 《机器学习实战》程序清单3-4 创建树的函数代码
  5. 容斥 - HDU 4135 Co-prime
  6. oracle 数据库文件丢失
  7. oracle 某一字段取反
  8. 还在用iTunes管理iPhone这款软件帮你轻松解决
  9. html标签的英文全拼,HTML标签全称对照
  10. Datalogic 得利捷推出QuickScan™ QW2500系列二维扫描枪和Matrix™ 320 系列新机型
  11. cursor图标自定义
  12. 目标客户画像_怎么进行目标人群的用户画像分析 - 爱盈利
  13. 初级、中级和高级开发人员之间有什么区别?
  14. 空间点到空间直线的垂点计算
  15. 46-Java-RabbitMQ
  16. photoshop保存哪种格式的图像最清晰
  17. 三伏天不能吃冷饮?7月这些蜚语你中招没
  18. android直播流渲染,Android手机直播之处理技术分析
  19. kettle安装及使用
  20. 51nod-生产口罩(拓补排序+DP)by zyz

热门文章

  1. php将excel日期转成时间戳,使用PHP将Excel日期编号转换为Unix时间戳时不匹配
  2. mysql最长字段_在mysql中使用GROUP BY时,如何选择最长的文本字段?
  3. 【C++入门】C++ List类
  4. I/O写入的原子性(Double Write)
  5. Vmware虚机机挂起后无法远程连接
  6. scala method与function的区别
  7. 详解如何基于Arduino兼容板Teensy LC实现虚拟键盘与鼠标
  8. 比特币现金和ICO 及其他6个加密在泰国获准交易
  9. BZOJ2820:YY的GCD
  10. JS中的showModelDialog详解和实例