前言
jar包含打包后的class文件以及META-INF文件夹下的MANIFEST.MF文件
MANIFEST.MF文件一般包含:
1. Manifest-Version:用来定义manifest文件的版本,例如:Manifest-Version: 1.0
2.Created-By:声明该文件的生成者,一般该属性是由jar命令行工具生成的,例如:Created-By: 1.8.0_111 (Oracle Corporation)
3.Main-Class:定义jar文件的入口类,该类必须是一个可执行的类,一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件
一、JDK自带打包命令
1、命令说明
2、文件打包成Jar包
I.命令示例:jar cvf classes.jar Foo.class Bar.class
II.具体示例:电脑桌面有一个"test"文件夹,里面包含需要打包的两个文件,现要打包成"test.jar"文件,如下图所示:
III.具体命令与结果示例:
3、文件夹打包成Jar包
I.命令示例:jar cvfm classes.jar MANIFEST.MF -C class/ .
II.具体示例:电脑桌面有一个需要打包"test"文件夹,现要打包成"test.jar"文件,请务必注意命令后面有一个“.”,如下图所示:
二、IDEA项目打包成JAR
1、Project Structure -> Artifacts-> JAR -> from modules with dependencies
2、Main Class 非必须,勾选copy to the output directory and link via manifest,选择源码路径
3、选择Output Directory后,菜单Bulid -> Bulid Artifacts进行打包