关于Jar命令

jar cvf 输出文件名 文件列表

如: jar cvf test.jar a.txt b.txt

上面这种用法基本上用不到,windows上有WinRAR,Linux上有tar,没人用jar命令打包的。

用jar的时候,一般是生成java类库,或生成java可执行文件。

比如,在命令提示符下,当前目录为code,code下面有个test工程,test工程里面就是一些class文件(可能有一些Java包),这时候怎么打包?

code/test> jar cvf test.jar ./* 

这样比较方便。

需要添加manifest文件的情况:

code/test> jar cvfm test.jar manifest文件名 .

需要往jar中加入一些文件,可以这样:

code/test> jar uvf test.jar 需增加的文件名

需增加的文件必须在当前目录下,并且路径与jar包中的路径一致。比如,jar包中有一个文件夹doc,需要往doc中添加一个文件a.txt,就需要在当前目录下,新建一个doc目录(存在就不用了),把a.txt放入其中。切换到code/test,输入:

code/test> jar uvf test.jar doc/a.txt即可。

有的时候,需要往jar包中放置manifest文件(或替换),将manifest.mf文件放置到code/test下,切换到code/test,输入:

code/test> jar uvfm test.jar manifest.mf

试试以下命令:

code/test> jar uvf test.jar META-INF/manifest.mf

这样,jar命令只将manifest.mf当做普通文件。如果之前的jar包中,manifest.mf是有效的,jar命令直接忽略这里输入的META/manifest.mf文件(即,jar不允许这样更新manifest文件,加上m选项就可以了)。看来,manifest文件是有些特殊的。

-c命令是做什么的?

就是一个cd命令,临时更改当前目录的。这有什么用呢?

假设code/test目录下有一个b.txt文件,还有一个doc文件夹,doc文件夹中,有一个a.txt。现在我们需要打个jar包,使得a.txt和b.txt都在jar包的根目录下:

code/test> jar cvf test.jar b.txt -C doc a.txt

也可以这样:

code/test> jar cvf test.jar -C doc a.txt b.txt

看到了,-C只对接下来的一个文件(夹)有效。可以使用多个-C,多次切换当前目录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值