注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

无明

 
 
 

日志

 
 

关于Jar命令  

2012-04-27 12:22:51|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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,多次切换当前目录。

  评论这张
 
阅读(751)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018