熟悉 和使用 jar 文件

1.jar命令详解

jar 是随JDK自动安装的,在JDK安装目录下的bin目录中,在我的计算中它的位置如下:

上面红色矩形框里就是所示的jar,在window应用程序中,它的文件名为jar.exe.

如果在命令窗口中运行不带任何参数的jar命令,系统会提示jar命令的用法:

 

在命令行里输入jar,就会出现上的输出结果. 注意:如果输入jar无效的话,可能就是你的环境变量没有配置好.

下面通过一些例子来说明jar命令的用法:

1.1创建可JAR文件

jar cf  test.jar test

该命没有显示压縮过程,执行结果是将test路径下的全部内容生成一个test.jar文件。如若当前目录下已经存在test.jar,在覆盖该文件!

1.2创建JAR文件,并显示压縮过程.

jar cvf  test.jar test

该命令与上命令中的结果相同,当由于v参数的作用,显示里打包过程.

1.3不使用清单文件

jar  cvfM  test.jar test

该命令与第二个命令的结果相似,其中M选项表示不生成清单文件。因此生成的test.jar文件中没有包含META-INF/MANIFEST文件,打包过程的信息业略有差别.

1.4  查看JAR包内容

jar   tf   test.jar

在test.jar 文件已经存在的条件下,上面命令可以查看test.jar文件的内容!

有时候当jar包中内容非常多时,直接在命令行里无法全部=显示,这时我们可以利用重定向将结果保存到文件中,可以采用这样的命令

 jar tf  test.jar >> test.txt

 

该命令会在当前路径下生成一个test.txt文件,然后信息都保存在这个test.txt文件中。

1.5查看JAR包详细内容

jar   tvf   test.jar  

该命令与第四条命令很相似,但它更详细,除了显示第四条显示的内容外,它还显示了包内文件的详细信息。

 1.6 解压缩

jar   xf   test.jar

将test.jar 文件解压到当前目录下,不显示任何信息.

1.7带提示信息的解压缩

jar  xvf    test.jar 

系统会显示解压缩的详细提示信息:

1.8 更新JAR文件

jar uf  test.jar   Hello.class

更新test.jar 中的Hello.class,如果test.jar 中已有Hello.class,则使用新的Hello.class文件替换原来的Hello.class文件。如果test.jar中没有Hello.class,则把新的Hello.class文件加入到test.jar中。

1.9更新时显示详细信息

jar uvf   test.jar  Hello.class

这条命令与第8条命令相同,只不过它会信息而已

2.创建可执行的JAR包

这次我们就哪一个普通的java类来作为例子演示一下.HelloWorld.java的代码如下:

package test;
public class HelloWorld {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("你进入HelloWorld的主方法");
	}
}

该类在我的计算机目录结构如下:

所以在源代码中的开头会有 “ package  test ; ”  这段代码,如果在D盘跟目录下,就不需要这段代码.可能是啰嗦了一点,但这是很多人容易犯的 错误,却总找不出原因。

接下来我们就来编译和执行HelloWorld .java ,为了让大家不忘记命令行编译和执行java的代码的方法,我就在命令行里操作了:

编译HelloWorld.java

执行HelloWorld.class文件

接下来就进入主要的内容了:

创建可执行的JAR包的关键在于,让javaw命令知道JAR的哪个类是主类,javaw 命令可以通过运行该主类来运行程序,这就需要借助于清单文件,要在清单文件中增加如下一行:

Main-Class: test.HelloWorld

在a.txt文件中编写这个清单文件,其中的格式为:Main-Class:<空格>test.HelloWorld<回车> 

这个清单文件,前面是key ,后面是value,格式是非常的严格:


 

 

现在HelloWorld.class 和a.txt文件都有了之后,就可以创建可执行的JAR包了.运行如下命令之后,我们就可以在当前目录下得到test.jar,这是一个可以执行的JAR。

 

最后我们运行 java -jar test.jar ,会看到如下的结果:

 

 这样创建一个可执行的JAR包过程就结束了.

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值