java文件打包成exe可执行文件


java文件打包成exe文件,分为两步,首先用eclipse将java文件打包成jar文件,然后用exe4j将jar文件打包成可执行exe文件

一:用eclipse将java文件打包成jar文件

如果java文件未引用外部包,可以将其打包成Jar File,如果其引用了外部包文件,最好将其打包成Runnable Jar File,这样可以将外部包文件一并打包进去,虽然包有点大,但是省去了在其它电脑上不能运行的麻烦。(我自己是打包成了Runnable Jar File,操作非常简单,这里不再叙述此过程

打包成jar File的步骤网上有很多,在这里copy一份。

第一步,将java项目打包成可执行jar文件,首先看一下我的java project结构,Main.java是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库

java文件打包成exe可执行文件_第1张图片

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

将Java Project打包成jar,并生成exe

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

java文件打包成exe可执行文件_第2张图片

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

java文件打包成exe可执行文件_第3张图片

一切默认,点击“Next”

java文件打包成exe可执行文件_第4张图片

在弹出窗口中,选择我们自己创建的MANIFEST.MF文件,点击“Finish”

java文件打包成exe可执行文件_第5张图片

我的MANIFEST.MF文件内容为:

Manifest-Version: 2.0
Main-Class: pubmed.view
Class-Path: lib/commons-math3-3.2.jar
 lib/commons-math-2.2.jar lib/activation-1.1.jar
 lib/antlr-2.7.7.jar lib/apache-mime4j-core-0.7.2.jar lib/axiom-api-1.2.13.jar
 lib/axiom-dom-1.2.13.jar lib/axiom-impl-1.2.13.jar lib/axis2-adb-1.6.2.jar
 lib/axis2-adb-codegen-1.6.2.jar lib/axis2-ant-plugin-1.6.2.jar
 lib/axis2-clustering-1.6.2.jar lib/axis2-codegen-1.6.2.jar lib/axis2-corba-1.6.2.jar
 lib/axis2-fastinfoset-1.6.2.jar lib/axis2-java2wsdl-1.6.2.jar lib/axis2-jaxbri-1.6.2.jar
 lib/axis2-jaxws-1.6.2.jar lib/axis2-jibx-1.6.2.jar lib/axis2-json-1.6.2.jar
 lib/axis2-kernel-1.6.2.jar lib/axis2-metadata-1.6.2.jar lib/axis2-mtompolicy-1.6.2.jar
 lib/axis2-saaj-1.6.2.jar lib/axis2-soapmonitor-servlet-1.6.2.jar lib/axis2-spring-1.6.2.jar
 lib/axis2-transport-http-1.6.2.jar lib/axis2-transport-local-1.6.2.jar lib/axis2-xmlbeans-1.6.2.jar
 lib/bcel-5.1.jar lib/commons-cli-1.2.jar lib/commons-codec-1.3.jar lib/commons-fileupload-1.2.jar
 lib/commons-httpclient-3.1.jar lib/commons-io-1.4.jar lib/commons-logging-1.1.1.jar
 lib/geronimo-annotation_1.0_spec-1.1.jar lib/geronimo-jaxws_2.2_spec-1.0.jar
 lib/geronimo-jta_1.1_spec-1.1.jar lib/geronimo-saaj_1.3_spec-1.0.1.jar
 lib/geronimo-stax-api_1.0_spec-1.0.1.jar lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar
 lib/httpcore-4.0.jar lib/jalopy-1.5rc3.jar lib/jaxb-api-2.1.jar lib/jaxb-impl-2.1.7.jar
 lib/jaxb-xjc-2.1.7.jar lib/jaxen-1.1.1.jar lib/jaxws-tools-2.1.3.jar lib/jettison-1.0-RC2.jar
 lib/jibx-bind-1.2.jar lib/jibx-run-1.2.jar lib/jsr311-api-1.0.jar lib/juli-6.0.16.jar
 lib/log4j-1.2.15.jar lib/mail-1.4.jar lib/mex-1.6.2-impl.jar lib/neethi-3.0.2.jar lib/regexp-1.2.jar
 lib/tribes-6.0.16.jar lib/woden-api-1.0M9.jar lib/woden-impl-commons-1.0M9.jar
 lib/woden-impl-dom-1.0M9.jar lib/wsdl4j-1.6.2.jar lib/wstx-asl-3.2.9.jar
 lib/xalan-2.7.0.jar lib/xml-resolver-1.2.jar lib/xmlbeans-2.3.0.jar lib/XmlSchema-1.4.7.jar
mf文件注意事项:
(1)第一行不能空,行与行之间不能有空行,每一行的最后一个字符不能是空格
(2)最后一行一定是空行
(3)每个属性的名称和值之间(冒号后面)一定要有空格
(4)文件的每一行都不能超过72个字节(一般是70个ASCII字母加上回车换行符);如果72个字节不够用,则另起一行并以空格开头:以空格开头的行都被视为前一行的续行。

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

第二步,将项目打包成exe,这里要明确一点,并不是把所有的文件都打包成一个exe,资源文件是不能包进去的,往下看↓

首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在F盘创建了一个“Simulate”文件夹,之后将所有的资源文件以及我们生成的可执行 jar文件(我的Simulate.jar)都拷贝到这个文件夹里,config目录和lib目录,如果你怕执行该程序的机器上没安装jre,那么你需要 将自己机器上的jre目录也拷贝进来,我安装的jre5,最后的目录结构:

java文件打包成exe可执行文件_第6张图片

然后使用exe4j将jar打包成exe文件

打开exe4j,跳过欢迎,直接点击左侧导航的第二项,因为我们已经提前将java项目打包成可执行jar文件了

java文件打包成exe可执行文件_第7张图片

在弹出窗口,选择“JAR in EXE mode”,点击“Next”

java文件打包成exe可执行文件_第8张图片

在新窗口中,为我们的应用取个名称,之后选择exe生成目录(我的F:\Simulate),点击“Next”

java文件打包成exe可执行文件_第9张图片

为我们要生成的exe取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single...”,点击“Next”

java文件打包成exe可执行文件_第10张图片

点击绿色“+”,设置程序运行的Class Path

java文件打包成exe可执行文件_第11张图片

先选择我们自己的可执行jar文件(我的Simulate.jar),点击OK

java文件打包成exe可执行文件_第12张图片

我们的Simulate.jar就加到Class Path下了

java文件打包成exe可执行文件_第13张图片

之后点击General中的Main Class选择按钮,在弹出窗口中,exe4j会自动搜索当前Class Path下的全部jar中包含main方法的类,并列出,因为当前我只选择了自己项目的jar,而我的项目中只有Main.jar包含了main方法,所 以一目了然,直接选择它点击“OK”,程序入口类就设置完成了

java文件打包成exe可执行文件_第14张图片

Main Class设置完成后,依次将所有需要的第三方类库加到Class Path下,方法同添加“Simulate.jar”一样,点击“Next”

java文件打包成exe可执行文件_第15张图片

输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去

java文件打包成exe可执行文件_第16张图片

点击绿色“+”来选择捆绑的JRE位置

java文件打包成exe可执行文件_第17张图片

在弹出对话框中选择“Directiony”,之后选择JRE的文件夹,注意:这个JRE目录是我们将本机的JRE目录拷贝到当前exe生成目录下的,而下图程序使用的就是相对目录,最好写成.\jre,不要写成图中的.\jre5,点击OK,完成JRE的捆绑操作。

JRE捆绑完毕,点击“Next”

java文件打包成exe可执行文件_第18张图片

默认,点击“Next”

java文件打包成exe可执行文件_第19张图片

默认,点击“Next”

java文件打包成exe可执行文件_第20张图片

默认,点击“Next”

java文件打包成exe可执行文件_第21张图片

exe生成中

java文件打包成exe可执行文件_第22张图片

OK,完成,点击“Exit”即可

java文件打包成exe可执行文件_第23张图片

看看成果如何吧!

java文件打包成exe可执行文件_第24张图片

最后我们需要将jre拷贝到和exe同一个目录下, 如下图,这样就可以在没有jdk的电脑上运行了。

java文件打包成exe可执行文件_第25张图片


你可能感兴趣的:(java文件打包成exe可执行文件)