学习java时,教材中关于如题问题,只有一小节说明,并且要本身写麻烦的配置文件,最终结果却只能转换为jar文件。实在是心有不爽。此篇博客教你如何方便快捷地把java代码,打包成jar文件以及转换为exe可执行文件java
咱们都知道Java能够将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是同样同样的,但感受仍是不一样。其实将java程序打包成exe也须要这个可执行jar文件。eclipse
eclipse或Myeclipse以及exe4j(网上有软件和账号下载)函数
首先看一下个人java project结构,Main.java是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库学习
开始打包,Simulate(Java项目)-鼠标右键-Export优化
弹出窗口,选择“JAR file”,点击“Next”ui
取消勾选“config”和“lib”目录,以及eclipse生成的项目配置文件“.classpath”和“.project”,点击“Next”spa
一切默认,点击“Next”code
在弹出窗口中,选择咱们本身建立的MANIFEST.MF文件,点击“Finish”ip
个人MANIFEST.MF文件内容为:资源
Manifest-Version: 1.0Main-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: Kun Sun
经过指定“Main-Class”来达到可执行jar文件的目的。其实咱们最终是将项目打包成exe,Class-Path能够不指定,在打包exe的时候还要指定classpath的。
这里要明确一点,并非把全部的文件都打包成一个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”目录了!
上述步骤基本上是本身已经尝试过的步骤,其中有些步骤能够省略,好比说Step1中从java代码转换为jar的过程当中能够不写配置文件(MANIFEST.MF文件),系统会自动给出,是否是很方便,。再好比Step2中的绑定jre,能够不绑定。至于其他能够更优化及方便地步骤,读者能够本身摸索尝试。