对于如何将一个java文件通过命令形式进行打包,通过以下示例进行讲解

示例:

1.首先写一个Java文件,如下:

package com.test; public class Hello{public static void main(String[] args) {System.out.println("Hello!");}}

文件所在目录如下图所示:

2. 指定目录:建一个目录,存放.class文件和.jar文件,本文指定目录为myjar,如下图所示:

3.将java源文件编译到指定目录myjar下,在命令窗口执行如下命令

javac -d myjar Hello.jar

该命令语法格式为:javac -d 指定目录 java源文件

若出现乱码异常,则可以指定字符编码:javac -encoding UTF-8 -d 指定目录 java源文件

执行如下:

进入myjar目录下,可以看到生成带包名目录的class文件,如下图所示:

4.指定Main-Class:

上一步完成编译后,myjar目录下便生成了com文件夹,此时,在myjar目录下,新建一个文件A(如:1.txt),文件内容为:Main-Class:(空格)全类名(回车)

本示例1.txt文件内容为:Main-Class: com.test.Hello回车,如下图所示:

5.进入指定目录myjar,使用jar命令进行打包,在命令窗口执行如下命令:

jar -cvfm my.jar 1.txt com

执行该命令后,即可生成对应的jar包(my.jar),执行结果如下:

该命令语法格式如下:jar -cvfm jar名 文件A 包的顶级目录

参数c:指定创建新的归档文件;

参数v:在标准输出中生成详细输出,该选项是可选的;

参数f:指定打包后的包名;

参数m:指定自定义的MANIFEST.MF清单文件,否则JDK会自动生成不包含Main-Class的默认清单。

通过上述步骤,便在myjar目录下创建了my.jar。以上步骤,也可以酌情省略,在cmd中运行该jar包,命令语法为:java -jar jar包名,本例执行命令为:java -jar my.jar,如下所示: