什么是jar包?
JAR 文件就是 Java Archive File,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件.准确的说,它就是 ZIP 文件,所以叫它文件包。
JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的。MANIFEST 是 JAR 文件包的特征。
Java 程序是由若干个 .class 文件组成的。这些 .class 文件必须根据它们所属的包不同而分级分目录存放;把已经做好了一些功能相关的java文件编译后的class文件打成一个包,就是jar包,这样你可以把它加入到你的工程中去,就可以在你的工程里面调用jar中相关的类了,而不用自己重写。
如何制作jar包?
有两种方法:
方法一 在命令行打包:
先打开命令提示符输入jar –help,然后回车,看到如下:
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvf classes.jar Foo.class Bar.class
示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有
文件存档到一个名为 'classes.jar' 的存档文件中:
jar cvfm classes.jar mymanifest -C foo/ .
一、操作零散的单个或几个class文件
jar cvf ibstool.jar com/cn/ibs/TurnD.class com/cn/ibs/TurnB.class
二、把一个文件夹下面的所有class文件打成jar包
首先: 进入到 \bin\classes\ 目录下
然后:jar cvf wanghai.jar com\tarena\utils\ #结果 会把 com\tarena\utils\ 目录下的 所有 class文件 打包,
方法二 在eclipse里打包(推荐):
选中 具体的类,右击 选择 export -> java -> JAR file ->next -> 选择 保存位置 -> finish
在eclipse里的android项目里使用jar包,首先 在项目的顶层目录里 创建文件夹 libs/ ,并且把用到的jar包拷贝到 里面,
接着 在 eclipse 里点击 具体的jar包,右击 选择 Build Path -> Add to Build Path,这样就ok了。