一、先把java文件打包成jar

在Eclipse中在你要打包的项目上右击(如图我想打包一个叫graphicproject的项目)

出来一个快捷菜单,点Export,然后Next,出现如下界面注意把红色方框里面的勾选上,表示要生成jar包

接下来是为jar包设置保存目录

最后一步是确定主方法的class,找到你的主方法

单机finish,这样一个jar包就生成了。

二、高版本的jdk可能没有jre文件,比如我目前用的jdk14,所以需要自己生成

首先,用Windows 命令行(管理员)打开
然后,进入安装路径,执行 cd "C:\Program Files\Java\jdk-11.0.1"  (带引号)
最后,执行 bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre

画面表示:
C:\WINDOWS\system32>cd "C:\Program Files\Java\jdk-11.0.1"
C:\Program Files\Java\jdk-11.0.1>bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
C:\Program Files\Java\jdk-11.0.1>
JRE文件夹出现

三、打包成exe文件

用到的工具:

1、写好的项目:可以是java项目,也可以是java web项目

2、能够打jar的工具:我用的MyEclipse开发,他们有自带的工具,我就直接用这个了

3、exe4j:可以去网上下载,地址:http://www.ej-technologies.com/download/exe4j/files.html,有绿色版的和安装的,32位和64位的。我的是别人给的安装版的,跟官网的最新版可能有些出入,有需要的可以去附件中下载。

4、jre:java项目的运行离不开jre,也不能要求客户自己去装JDK,所以还是给它带个比较保险。(JDK安装之后,有jdk和jre两个目录,可以直接复制这个jre文件夹,也可以复制jdk文件夹下的jre。我这里用的jdk是1.6的)。

5、一张后缀名为ico的图标文件,作为exe执行程序的图标。也可以没有。

下面开始弄。

一、将项目中的src加压成jar包:

1、我的目录结构:

2、在项目名称上右击(或者在左侧的空白处右击),选择"Export",也就是导出文件,在弹出框里面找到“Java---JAR file”,如图,然后“Next"。

 3、去掉除了src以外的其他文件的勾选状态,只选择src文件夹,如图。然后选择当前jar要保存的位置。最后的三个Options默认的第一个是勾选的,后面的两个是不勾选的。咱们这儿一并勾上吧,无非就是要是选的文件夹不存在就新建文件夹,要是在已经存在就直接覆盖。要是不勾选检测到指定目录下有指定文件时会弹出框问你是否覆盖。上面三点弄完之后,点击“Next”。

4、使用默认设置,点击“Next”。

5、往后的步骤,一路默认一路Next就成。期间可能会遇到一个问题,如下图。这是两个warnings。无关痛痒,可以不用去管它。你要是觉得不舒服不想要有的话,查网上的资料,说将第四部的两个勾都给去掉就不会有这个警告了。(我试了试,的确没有警告了,但是在后面生成exe执行程序之后,却报错说被警告的两个文件找不到了。细看那两个勾选的内容,一个是说错误一个是说警告,跟我的这个找不到文件半毛钱关系都没有,所以可能是碰巧碰到错了。)

6、至此,选定的目录下应该就有导出的jar包了。

二、组织目录结构:

将java项目里面的其他文件夹(我这里是lib和log两个文件夹)复制到刚刚导出的jar所在目录,并将导出的jar包放到lib目录里面。再新建一个image或别的名称的文件夹用来存在exe生成后的图标(也可以直接放在根目录下面,我是放在image标签下),最后将jre文件夹拷贝至此。我的目录如下:

  
 
 三、使用exe4j工具生成exe执行程序:

1、安装完成exe4j工具之后,双击会打开welcome界面,这个界面是用来输注册码用的,你要是不输,可以直接next。但若是不输入,双击生成的exe时,会alert出一段话,如图。必须点“确定”才可以执行程序。

 为了不让这个问题成为“客户反馈的问题”,咱们还是输入注册码吧。点击"Enter license"按钮,输入Name、Company、和License Key。前面两个可以随便输,key可以试试下面的。

License Key:

A-XVK258563F-1p4lv7mg7sav 
A-XVK209982F-1y0i3h4ywx2h1 
A-XVK267351F-dpurrhnyarva 
A-XVK204432F-1kkoilo1jy2h3r 
A-XVK246130F-1l7msieqiwqnq 
A-XVK249554F-pllh351kcke50 
A-XVK238729F-25yn13iea25i 
A-XVK222711F-134h5ta8yxbm0

2、Lisence输入完成了点击“OK”回到welcom界面,点击“Next”,在“Choose project type”里面选在“JAR in EXE mode",也就是用jar包来生成exe。Next。 

3、目录配置,也就是将哪个文件夹下面的东西打成exe。常规里面填个应用的简写名称,Direcotries里面选择需要生成exe的目录,也就是上面组织的目录结构。如图。最后Next。

4、exe执行程序配置。

Executable name:就是exe执行文件的名称

Icon File:exe执行文件的图标。这里选择image下面的ico文件。这里只能用ico文件作为图标。也可以取消前面的复选框不给当前exe设置图标,若是不设置系统会根据系统主题自动设置一个图标。

Allow only a single ......:在一台电脑上只允许运行一个exe程序,若是允许多个,可以不勾选

最后点击”Next“。

5、 invocation配置。也就是添加jar文件和指定主方法。点击绿色的”+“号,在弹出框里选择lib中的jar包(如图2),然后”OK“。这个只能一个一个的添加,要是用的jar包比较多加起来还挺麻烦的。 


lib中的jar都添加完了之后,指定main方法,点击”main class“后面的按钮,在弹出框里面找到程序的主方法,如图,添加进去。


这两步都OK之后,最后的结果是:

有时候系统中除了用到jar包之外,还会用到dll文件,而上面的添加jar包的步骤中不能添加dll文件,将dll文件放在与exe同级目录下也一样会因为dll的问题导致系统出错,甚至于放到system32文件夹下也没用。我在弄这个系统的时候,就有dll文件,折腾了大半天,也找了好久的资料(找的过程中发现好多人在这一步也很苦恼),后来发现,其实exe4j早就考虑到这个问题了,就是上图中的Advanced Options,即:

可以通过这个添加任何非dll的文件所在的文件夹,操作很简单,点击之后弹出如下图的对话框,点击绿色“+”号, 选择dll文件所在目录,我这里是放在lib目录下的,所以选择lib,添加完之后,结果如下:

6、 配置jre。配置jre的最小版本,即低于这个版本的Jre无法运行该程序。最大版本也是一样的。我用的jdk是1.6的,所以配置最小为1.6。最大的可以不设置。

 接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,因为客户的机器上未必有jre所以咱们自己带一个比较好。在弹出的框里面点击绿色的”+“号,在Define search sequence entry中选择Direcotry,并给定jre所在目录。然后”OK“。

jre添加完成之后效果如下: 

7、完后的三步都是用默认操作,一路Next即可。直到如下界面:

到这个界面说明已经生成完成了。 还需要说的有三点:

1、Click here to Start the Application:这个按钮时用来测试执行程序的,点击该按钮即可启动exe执行程序。

2、Save As:这个很重要。这个保存了以上运行步骤的过程,保存后会生成一个exe4j,以后如果需要将该程序重新打exe,直接运行这个exe4j文件即可,以后的各种配置都被存入这个文件了,基本上一路next就成,特别好用。

3、Restart:这个restart有点误导人。Restart是重启的意思,在这的话更容易理解成重新生成。我开始弄的时候弄错了,想重新生成一下,于是点了这个,结果直接给我跳到第一步重新来了。所幸各种设置都还在,要是给我清空我不得重来一回。

8、最后的结果应该这个样子的:

 说明:上面的截图中有设置exe的图标,为了测试我不设置图标会出现什么效果,我这里没有添加图标。其他的跟截图都是一样的。

参考链接:

1.https://bbs.csdn.net/topics/392724888

2.https://www.cnblogs.com/duwanjiang/p/6390379.html

3.https://blog.csdn.net/linzi0/article/details/22723407

关于如何将java桌面程序打包成exe可执行文件相关推荐

  1. Java桌面程序打包成exe可执行文件

    前言: 我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同.其实将java程序打包成exe也需要这个可执行jar文件. 准备: ecl ...

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

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

  3. python程序打包成exe可执行文件,亲测可行(pyinstaller教程)

    python程序打包成exe可执行文件,亲测可行(pyinstaller教程)(11-20190214) 文章目录: 有些程序你不想让别人看到,由此程序你想做成绿色软件普惠大众,有些..., 然而你只 ...

  4. python版本可执行可嵌入_Python程序打包成exe可执行文件的方法探究

    王瑞文+王圣辉+边润根+邓明月 摘 要:Python是一种很流行的开源编程语言,可以在各种领域中用来编写独立的程序和脚本.Python免费.可移植.功能强大,而且使用起来相当容易.来自软件产业各个角落 ...

  5. windows系统用cx_freeze给python程序打包成exe可执行文件

    转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/81740340 本机window ...

  6. java swing桌面程序打包成.exe文件

    公司需要做一些数据,图片处理的小程序,所以就学了学swing,吐槽一下 现在的swing的资料真的少..基本不用这个做了. 下面的文章是介绍如何将自己编写的swing应用程序打包为.exe的可执行程序 ...

  7. 使用exe4j将java程序打包成exe可执行文件遇到的问题

    具体用eclipse将java程序打包成jar,并用exe4j生成可执行程序的过程请看这个博客:http://www.cnblogs.com/icewee/articles/2073203.html ...

  8. java普通项目打包成exe可执行文件

    · 提示,无论打包成jar还是exe程序,运行都需要JDK,需要给没有安装JDK的电脑安装: · maven项目有自己的打jar包方式,我们普通的java项目,可以安照步骤一打包成jar: 步骤一.先 ...

  9. python程序打包成exe可执行文件

    1.安装pyinstaller模块: 2.验证安装成功pyinstaler,该步骤只是为了心理安慰: 3.将自己的python文件打包成exe: 输入命令:pyinstaller  -F    **\ ...

最新文章

  1. Error: INFO ipc.Client: Retrying connect to server: Already tried XXX time(s).
  2. Verdi-ug --- nschema Tutorial
  3. ACM竞赛、数论内容常用的定理(求解(a/b)%c,乘法逆元,费马小定理)
  4. 反爬虫机制和破解方法汇总
  5. SpringBoot整合升级Spring Security 报错 【The request was rejected because the URL was not normalized】...
  6. Supersocket 如何使用 教程1
  7. ABIs [armeabi] are not supported for platform. Supported ABIs are [arm64-v8a, armeabi......
  8. “性能续航小超人”iQOO Z6系列登场:售价仅1199元起
  9. 华乾服显示无法连接服务器,唯满侠战火纷飞,飞龙休闲养老,剑网三各服务器缘何天差地别...
  10. 理论结合实际:如何调试神经网络并检查梯度
  11. 【云IDE】取次花丛懒回顾
  12. js 获取系统时间
  13. DC入门教程(二)——综合的整体流程
  14. XMU 1071 圣斗士黄金十二宫(七)银河星爆 【计算几何】
  15. 云原生运行时的下一个五年
  16. KOOM 解决Dump hprof冻结app原理
  17. 【Axure教程】中继器版投票原型
  18. VS系列多通道振弦传感器无线采发仪的数据发送说明
  19. 周鸿祎年会演讲:最大的敌人,是自己
  20. srs直播服务器的搭建 - 手把手教你怎么搭建属于自己的直播服务器~

热门文章

  1. 360WiFi文件夹存储位置如何更改
  2. 传奇私服服务器怎么增加npc,在自己的传奇服务器中如何添加NPC
  3. LogicFlow插件-常用内置
  4. 今天的码农女孩做了关于svg画图和canvas画图 2022/1/18
  5. 爱思助手安卓能用吗_苹果的蓝牙耳机安卓能用吗
  6. 用html代码制作一个表情图片,canvas绘制一个常用的emoji表情
  7. Gartner 2018内容与协作平台魔力象限:格局未定 新势力冒头!
  8. 全文检索Lucene
  9. SAP中科目货币及本位币记账控制测试
  10. c++第三次实验(定期存款利息计算器)