java代码打包成jar以及转换为exe

教你如何把java代码打包成jar文件以及转换为exe可执行文件java

 

一、背景:

 

    学习java时,教材中关于如题问题,只有一小节说明,并且要本身写麻烦的配置文件,最终结果却只能转换为jar文件。实在是心有不爽。此篇博客教你如何方便快捷地把java代码,打包成jar文件以及转换为exe可执行文件吐舌头windows

 

二、前言:

 

    咱们都知道Java能够将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是同样同样的,但感受仍是不一样。其实将java程序打包成exe也须要这个可执行jar文件。eclipse

 

三、准备:

 

     下载eclipseMyeclipse以及exe4j下载(这里有几种版本的exe4j提供下载,总有一款适合你,若是没有就找度娘咯)。函数

 

 

四、具体步骤:

 

Step1:将java项目打包成可执行jar文件

 

    首先看一下个人java project结构,Main.java是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库工具

 

 

开始打包,Simulate(Java项目)-鼠标右键-Export学习

 

 

弹出窗口,选择“JAR file”,点击“Next”优化

 

 

取消勾选“config”和“lib”目录,以及eclipse生成的项目配置文件“.classpath”和“.project”,点击“Next”ui

 

 

一切默认,点击“Next”spa

 

 

在弹出窗口中,选择咱们本身建立的MANIFEST.MF文件,点击“Finish”3d

 

 

 

个人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: Kun Sun

 

经过指定“Main-Class”来达到可执行jar文件的目的。其实咱们最终是将项目打包成exe,Class-Path能够不指定,在打包exe的时候还要指定classpath的。

 

Step2:将项目打包成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”目录了!

 

 五、备注

 

    上述步骤基本上是本身已经尝试过的步骤,其中有些步骤能够省略,好比说Step1中从java代码转换为jar的过程当中能够不写配置文件(MANIFEST.MF文件),系统会自动给出,是否是很方便,大笑。再好比Step2中的绑定jre,能够不绑定。至于其他能够更优化及方便地步骤,读者能够本身摸索尝试。大笑

 

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------

--------------------------------------------------------------哥哥是分割线---------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 

 

这里转载网友的一篇exe4j的使用:

 

exe4j是一款很经典的将Java类文件打包成.exe文件的软件,支持把jar class文件等编译成windows下可以直接运行的exe文件,还能够添加启动等待画面

第一次安装时会出现下面的对话框:


它要求系统有1.5版本以上的JDK,点Download在线下载,若是你的机器上有JDK,点Locate找到你机器上已安装的JDK目录下/bin/java.exe就能够进行安装了。
下面就安装过程详细说明一下:
第1步,默认便可。
第2步,若是已经有制做好的jar文件,则下面一个"JAR in EXE"。
对于打包jar文件,在eclipse中右击项目选导出便可,不会制做jar文件能够给我留言


第3步,上面是项目名称,可随便填写,下面一个写出你想要将打包后的exe文件输出的目录:


第4步,因为个人演示程序是图形的,因此选第一个,若是你的程序是控制台的,则选择第二个,Executable name写你将要生成的exe文件的名字,Icon File能够选择生成文件的图标


第5步,首先,单击绿色的"+"号,在弹出的窗口中点Archive,而后找到起初已经作好的jar文件,"OK"后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内点击找到main所在的类,这一步即算完成:


第6步,你系统的JRE版本,上面填个1.3,下面填1.6:


固然,这样配置的程序只能在安装有JRE的机器上执行,发布时总要考虑的问题就是用户是否有能力在本身机器上安装JRE,总不能发布一个程序还要用户本身安装个JRE吧,下面我就介绍如何将JDK环境变量动态打包到exe中,在这里单击advanced options,选择search sequence。如图:


首先把JRE复制到exe文件输出的目录里,我用的是c:\xaocker\,在弹出的窗口中,删除列表中全部项,而后单击绿+,选择directory并选择JRE的根目录(注意是拷贝后的目录)便可,如图:


单击ok后,再从图中单击advanced options,并选择preferred VM,在弹出的窗口中选择client hostspot VM,单击next按钮继续:


第七、8步是一些基本配置,默认便可,第9步编译,第10步你就能够点这个看到效果了:


exe4j未注册的版本会出现下面的对话框:(内有注册码 可无偿使用)

点击肯定以后就能够看到你程序的运行结果了!java.exe依照一套逻辑来寻找能够用的JRE,首先查找本身所在的目录下有没有JRE,其次查找本身的父目录下有没有JRE;最后才是查询Windows的注册表。如今咱们的程序能够在任意的计算机上执行了,但是缺点是致命的,比方说个人程序才160K,但是不论走到哪里都要背着70多M的JRE,未免有点小题大作吧,其实做为咱们的私有的JRE,好多内容都是能够抛弃的。Jre目录下的license均可以不要,bin下的执行文件只须要保留java.exe或者javaw.exe,lib下只要保留rt,jsse,jce,charsets几个库就能够了。除了i386和zi两个子目录外,其他的子目录均可以不要。Zi下只须要保留本身地区的子目录和其下的一些文件就能够。Lib下除了库以外的属性文件等等都要保留。这样清理一番,JRE仍然有接近50MB。还能够继续清理几个库文件里面不须要的内容,这须要仔细的整理,会很费功夫。最好能写出一个自动工具帮助咱们整理它们。从Sun公司上下到的JMF里面附带的用Java写的媒体播放器就自带了JRE,只有几个MB。清理事后须要运行几遍咱们的应用程序,以确保咱们的JRE不缺乏东西。OK,仔细清理以后,文件变小了很多,能够发布了……

相关文章
相关标签/搜索