黑马程序员技术交流社区

标题: 【成都校区】Java桌面程序打包成exe可执行文件 [打印本页]

作者: 小刀葛小伦    时间: 2019-5-23 10:31
标题: 【成都校区】Java桌面程序打包成exe可执行文件
本帖最后由 小刀葛小伦 于 2019-5-23 13:15 编辑

前言:
我们都知道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目录,如果你怕执行该程序的机器上没安装jre,那么你需要将自己机器上的jre目录也拷贝进来,我安装的jre5,最后的目录结构:
打开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”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去
点击绿色“+”来选择捆绑的JRE位置
在弹出对话框中选择“Directiony”,之后选择JRE的文件夹,注意:这个JRE目录是我们将本机的JRE目录拷贝到当前exe生成目录下的,我的目录是F:\Simulate\jre5,下图程序使用的是相对目录,点击OK,完成JRE的捆绑操作
JRE捆绑完毕,点击“Next”
默认,点击“Next”
默认,点击“Next”
默认,点击“Next”
exe生成中
OK,完成,点击“Exit”即可
看看成果如何吧!
我们的可执行jar以及第三方jar总共还不到5M,可jre5目录就50多M,如果目标机器上有JRE环境就可以把它删掉了,lib目录是第三方jar文件,现已打包到exe中了,所以它也没有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目录了!

2011060515334852.png (1.49 KB, 下载次数: 15)

2011060515334852.png

2011060515344917.png (25.22 KB, 下载次数: 16)

2011060515344917.png

2011060515384312.png (61.27 KB, 下载次数: 7)

2011060515384312.png

2011060515410010.png (41.52 KB, 下载次数: 5)

2011060515410010.png

2011060515432930.png (50.95 KB, 下载次数: 6)

2011060515432930.png

2011060515520386.png (23.84 KB, 下载次数: 9)

2011060515520386.png

2011060515521294.png (17.6 KB, 下载次数: 8)

2011060515521294.png

2011060515591027.png (38.98 KB, 下载次数: 6)

2011060515591027.png

2011060516025629.png (26.09 KB, 下载次数: 19)

2011060516025629.png

2011060516075183.png (37.17 KB, 下载次数: 3)

2011060516075183.png

2011060516122663.png (24.64 KB, 下载次数: 16)

2011060516122663.png

2011060516134493.png (25.34 KB, 下载次数: 17)

2011060516134493.png

2011060516195659.png (21.1 KB, 下载次数: 6)

2011060516195659.png

2011060516233423.png (26.62 KB, 下载次数: 18)

2011060516233423.png

2011060516261526.png (25.24 KB, 下载次数: 18)

2011060516261526.png

2011060516300284.png (25.96 KB, 下载次数: 7)

2011060516300284.png

2011060516330494.png (25.03 KB, 下载次数: 15)

2011060516330494.png

2011060516352910.png (23.66 KB, 下载次数: 5)

2011060516352910.png

2011060516363574.png (20.8 KB, 下载次数: 14)

2011060516363574.png

2011060516371365.png (16.62 KB, 下载次数: 9)

2011060516371365.png

2011060516374440.png (18.66 KB, 下载次数: 11)

2011060516374440.png

2011060516381611.png (28.64 KB, 下载次数: 9)

2011060516381611.png

2011060516391366.png (14.05 KB, 下载次数: 16)

2011060516391366.png

2011060516400048.png (20.27 KB, 下载次数: 9)

2011060516400048.png

2011060516424155.png (49.63 KB, 下载次数: 4)

2011060516424155.png

2011060516300284.png (25.96 KB, 下载次数: 8)

2011060516300284.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2