Java打包jar文件
1.编译.java文件
通过javac命令编译.java后缀的源码文件
1 | javac -d 生成目录 源码目录路径或源码文件路径 |
2.打包.class文件
打包时一般使用cfvm或者cfve参数,
cfvm参数使用.MF文件来指定打包清单,和决定主类(入口)cfve参数是在输入打包命令的参数指定主类
- 使用
cfvm参数打包,
配置.MF文件,名字可以自定义,我这里使用CONFIG.MF这个文件名其中,1
2
3
4Manifest-Version: 1.0
Created-By: 23.0.1 (Oracle Corporation)
Main-Class: project.test.app.Main
# 此处应为空行Main-Class配置项,填写编译后的主类路径(注意不要加.class)
注意:- 主类路径是对于打包时选定的路径开始的(包含选取的目录)
- 冒号后面加一个空格
- 最后行必须为空行
1 | cd Build |
Out.jar为打包后的打包文件名CONFIG.MF为刚刚配置的.MF文件./project为刚刚javac编译完成的目录
命令运行结束后,目录下会出现Out.jar文件
- 使用
cfve参数打包
打包命令如下:1
2cd Build
jar -cfve Out.jar project.test.app.Main ./projectOut.jar为打包后的打包文件名project.test.app.Main为填写编译后的主类路径(注意不要加.class)./project为刚刚javac编译完成的目录
命令运行结束后,目录下会出现Out.jar文件
3.运行与导入jar
运行jar
在刚刚打包完成的.jar文件目录打开cmd,输入如下命令即可运行:1
java -jar Out.jar
其中,
Out.jar就是我们刚刚生成的.jar文件的文件名导入jar
jar文件还可以在其他java程序编译或运行时导入
秩序将java程序需要的包进行打包,并在运行时添加如下参数即可:1
2
3
4# 编译时导入示例
javac -cp "path/to/classes;path/to/lib.jar" MyClass.java
# 运行时导入示例
java -cp "path/to/classes;path/to/lib.jar" my.package.MainClass
path/to/classes;是我们需要导入的.class文件的路径(可忽略)path/to/lib.jar是我们需要导入的.jar文件的路径MyClass.java是我们编译时的java源码文件my.package.MainClass是我们运行时的java源码文件路径