JAR包是Java中所特有一种压缩文档。存储格式格式就是.zip包。
但是与ZIP包不同的地方是,生成JAR包时候,会自动添加一个META-INF\MANIFEST.MF文件

命令参数
jar {c t x u f }[ v m e 0 M i ][-C 目录]文件名...
其中{ctxu}这四个参数必须选选其一。[v f m e 0 M i ]是可选参数,文件名也是必须的。
-c  创建一个jar包
-t  显示jar中的内容列表
-x  解压jar包
-u  添加文件到jar包中
-f  指定jar包的文件名
-v  生成详细的报造,并输出至标准设备
-m  指定manifest.mf文件.(manifest.mf文件中可以对jar包及其中的内容作一些一设置)
-0  产生jar包时不对其中的内容进行压缩处理
-M  不产生所有文件的清单文件(Manifest.mf)。这个参数与忽略掉-m参数的设置
-i    为指定的jar文件创建索引文件
-C  表示转到相应的目录下执行jar命令,相当于cd到那个目录,然后不带-C执行jar命令

使用示例
(1)创建jar包
jar cf hello.jar file1 file2
创建hello.jar,并将file1,file2 (jar命令可以指定多个文件) 添加到hello.jar包中,如hello.jar存在,则覆盖。
创建后的jar包格式如下
hello.jar
├ META-INF
│ └ MANIFEST.MF
├ file1
└ file2

(2)创建并显示打包过程
jar cvf hello.jar test
输出如下(不同操作系统输出可能略有不同)
已添加清单
: test/(输入 = 0) (输出 = 0)(存储了 0%)
正在添加:test/(输出= 0) (输出 = 0)(存储了 0%)
正在添加:test/Test1.class(输出= 1497) (输出= 818)(压缩了 45%)
正在添加:test/Test2class(输出= 1344) (输出= 736)(压缩了 45%)

(3)显示jar包
jar tvf hello.jar
查看hello.jar包的内容
如果jar包不存在,会抛出java.io.FileNotFoundException
如果jar包格式错误(不是ZIP格式),会抛出 java.util.zip.ZipException

(4)解压jar包
jar xvf hello.jar
 解压hello.jar至当前目录
 
(5)jar中添加文件
jar uf hello.jar HelloWorld.java
将HelloWorld.java添加到hello.jar包中

(6)创建不压缩内容jar包
jar cvf0 hello.jar *.class
使用当前目录中所有的.class文件生成一个不压缩jar包
 
(7)创建jar包(指定的MANIFEST.MF文件)
jar cvfm hello.jar manifest.mf file1
创建的jar包时,会使用指定的 META-INF/MANIFEST.MF文件
 
(8)忽略manifest.mf文件
jar cvfM hello.jar test
生成的jar包中不包括META-INF目录及MANIFEST.MF文件
 
(9)加-C应用:
jar cvfm hello.jar mymanifest.mf -C temp/
表示在切换到temp目录下然后再执行jar命令
 
(10)jar文件生成索引列表
jar  i  hello.jar  
在hello.jar包的META-INF文件夹下生成一个名为INDEX.LIST的索引文件。

常用jar命令的更多相关文章

  1. jar命令的用法详解

    本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中 ...

  2. 转:linux下jar命令与jar包

    原文链接:http://blog.chinaunix.net/uid-692788-id-2681136.htmlJAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有 ...

  3. Java中jar命令详解

    做项目的时候我们肯定接触过很多jar包,那么jar包是什么呢?笔者了解到jar是java archive file 的简写.从名字就可以知道,它的应用与Java息息相关.下面就详细介绍如何自己生成ja ...

  4. Android 常用 adb 命令总结

    Android 常用 adb 命令总结 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命 ...

  5. oracle rac常用的命令

    oracle rac常用的命令 节点层:olsnodes 网络层: oifcfg 集群层:crsctl,ocrcheck,ocrdump,ocrconfig 应用层:srvctl,onsctl,crs ...

  6. 【转】Android 常用 adb 命令总结

    原文地址:http://testerhome.com/topics/2565 针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Andr ...

  7. 常用Hadoop命令(bin)

    **** bin 是二进制文件的意思,sbin....据说是superbin(管理员的bin) HDFS命令 某个文件的blocks信息 hadoop fsck /user/xx -files -bl ...

  8. java基础基础总结----- 常用DOS命令(一)

    常用DOS命令 dir(directory):列出当前目录下的文件以及文件夹 mkdir (make directory) : 创建目录 rd (remove directory): 删除目录 cd ...

  9. Hadoop集群-HDFS集群中大数据运维常用的命令总结

    Hadoop集群-HDFS集群中大数据运维常用的命令总结 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客会简单涉及到滚动编辑,融合镜像文件,目录的空间配额等运维操作简介.话 ...

随机推荐

  1. 如何在Visual Studio(VS)2012里使用libsvm工具箱

    原文:http://blog.csdn.net/u014691453/article/details/40393137 软件版本: Visual Studio版本:VS2012 (注:使用方法在 VS ...

  2. C# int与string转化

    1.int-->string ; string s1 = a.ToString(); string s2 = Convert.ToString(a); 2.string -->int &q ...

  3. Mysql5.7.22版本,插入中文乱码的问题

    首先,mysql5.7.22版本的免安装版本的,需要自己配置信息,而且容易出现问题,这里还是建议下载安装版本.msi,按照安装教程进行安装:安装成功后会在数据存储的data文件下找到参数配置文件my. ...

  4. iOS tabbar 图片,最佳大小方式

    iOS tabbar 图片,最佳大小方式 文档大小 30 *30 retaina 60 *60 最佳大小 48 *32 参考:http://stackoverflow.com/questions/15 ...

  5. Docker随笔:Hyper-V PowerShell Module is not available报错解决方法

    当在win10使用docker-machine创建Hyper-v虚拟机时,返回了一个错误”Error with pre-create check: "Hyper-V PowerShell M ...

  6. zuul源码分析-探究原生zuul的工作原理

    前提 最近在项目中使用了SpringCloud,基于zuul搭建了一个提供加解密.鉴权等功能的网关服务.鉴于之前没怎么使用过Zuul,于是顺便仔细阅读了它的源码.实际上,zuul原来提供的功能是很单一 ...

  7. QtGui.QComboBox

    The QtGui.QComboBox is a widget that allows a user to choose from a list of options. #!/usr/bin/pyth ...

  8. 排序算法及其java实现

    各种排序算法:冒择路(入)兮(稀)快归堆,桶式排序,基数排序 冒泡排序,选择排序,插入排序,稀尔排序,快速排序,归并排序,堆排序,桶式排序,基数排序 一.冒泡排序(BubbleSort) 1. 基本思 ...

  9. taro 打包微信小程序运行失败(二)

    1.报错信息 thirdScriptError sdk uncaught third Error Cannot read property 'dispatch' of null TypeError: ...

  10. Maven + Apache Felix + CXF + DOSGi series

    This is a blog series on how to combine Maven + Apache Felix + CXF + DOSGi. The information presente ...