关于如何打包/运行jar包,以及生成exe文件。之前各种查询、博客,终于搞明白究竟是咋回事。记得还做过笔记的。今天要打包生成exe用的时候,居然忘了咋怎来着。去查看之前的笔记,死活没找到(好像被删掉了)。决定写下来,以便之后随时调用。
一、jar包
什么是jar包?jar包即(Java Archive File),也就是java归档文件。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。jar分为:一般jar包和可执行jar包。
二、如何打包成jar包
①使用eclipse进行打包
1.选择要打包的工程-->鼠标右键-->选择Export
2.导出为一般jar包 和 可执行jar包
②使用命令进行打包成jar包 (已配置好java环境,可直接在控制台输入jar查看命令帮助)
打包为一般jar包
1)使用eclipse编写的程序:class文件在bin目录下,src中是源文件。
步骤:在工程目录下运行CMD,输入命令: jar cvf jarPackageName.jar -C bin .
会在工程目录下生成jar包文件。
2)使用编辑器编写的,且编译后的.class文件,根据目录进行打包,若单个或多个class文件则
步骤:在class文件目录下运行CMD,输入命令:jar cvf jarPackageName.jar No1.class No2.class
打包为可执行jar包
1)使用eclipse编写的程序:导出的可执行jar 不要需进行修改,可直接运行jar包。
2)使用编辑器编写的,且编译后的.class文件。(jar cvfm jarPackageName.jar MANIFEST.MF bin .)
步骤:创建MANIFEST.MF文件,在文件按格式写下
Manifest-Version: 1.0
Created-By: 1.6.0_22(Sun Microsystems Inc.)
Class-Path: .
Main-Class: MianClass
Manifest-Version 指清单版本,默认生成Manifest-Version: 1.0
Created-By 指创建作者,默认生成Created-By: 1.6.0_22 (Sun Microsystems Inc.)
Class-Path 指主类所在路径
Main-Class 指程序的主类 main 方法的类。
在class文件目录下CMD中,输入命令:jar cvfm jarPackageName.jar MANIFEST.MF *.class
注 :
>>从eclipse生成的一般jar包和可执行jar中可以看出:一般jar 包中的MANIFEST.MF文件没有指定Main-Class,而可执行jar包中是含有的。
>>可执行的jar包中必须指定Main-Class,否则会提示“jar包中没有主清单属性”。
>>若MANIFEST.MF文件中只写Main-Class时,需要在末尾敲回车。
三、运行jar包
在jar包目录下进入CMD,输入命令:java -jar jarPackageName.jar
四、生成exe文件
前提准备:exe4j_window-x64.exe;可执行jar包
1.欢迎界面
2.选择“JAR in EXE ” mode ,点击Next
3.应用程序配置,输入程序名称。及保存exe文件的路径
4.选择可执行的程序类型,输入exe文件名,点击Next(其他选项可不填)
若有需要可选择设置
5.选择jar包和jar包中的Main-class,点击Next
6.设置程序的运行环境。点击Next
7.一直点击Next,进入该界面(生成exe程序界面).成功会直接进入Finished界面。否则出现弹出报错
8.完成