java jar管理_Java类包管理工具——jar

基础概念

JAR文件格式以流行的ZIP文件格式为基础,用于将多个文件聚集为一个文件。区别于ZIP文件的地方,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被类似的javac和java这样的工具直接使用。在JAR中包含特殊文件,如manifests和部署描述,用来指示工具如何处理特定的JAR。

为创建、管理JAR文件,可以使用作为JDK一部分的jar命令行工具(存在于JDK的bin目录下)。

常见的命令行有以下几个

1. jar cf jar-file input-file-list 用一系列文件创建一个jar文件

2. jar cf jar-file dir-name 用一个目录创建一个JAR文件

3. jar cf0 jar-file dir-name 创建一个未压缩的JAR文件

4. jar uf jar-file input-file 更新一个JAR文件

5. jar tf jar-file 查看一个JAR文件内容

6. jar xf jar-file 提取一个JAR文件内容

7. jar xf jar-file archived-file 从一个JAR文件中提取特定的文件

8. jar i jar-file 未JAR文件生成索引文件

9. java -jar jar-file 运行一个打包为可执行JAR文件的应用程序

常见应用场景1—— 可执行的JAR文件

进入该目录使用javac命令编译这些文件。-d参数用于指定编译产生的.class文件存放的路径。以

-d参数编译后的.class文件将自动按包名为目录结构进行组织。

javac -d .*.java(注意空格)

新建一个文本文件令名MANIFEST后缀是.MF内容是

Manifest-Version: 1.0

Main-Class: com.MyMainClass

接着以jar cvfm com.jar MANIFEST.MF com

当前目录下生成com.jar文件

450d871f651c531652886f13996d2d74.png

25daf1a364b773683cf03f6d21b323d6.png

最后执行这个jar文件

java -jar com.jar

执行效果如图

246cd5b1fa88cbc1ba961abf63cf1d7c.png

执行成功。

常见应用场景2——jar文件的索引

如果一个应用程序的class文件分散在多个jar文件中,那么类装载器就是用一个简单的线性搜索算法搜索类路径中的每一个文件,这可能需要类装载器下载并打开多个jar文件,直到找到所要的类或者资源。对于大型的需要下载到客户端执行的网络应用程序(如Applet),这会导致启动缓慢、相应迟缓和浪费宽带。

从JDK1.3以后JAR文件格式开始支持JarIndex索引机制,以优化网络应用程序中类的搜索过程,特别是Applet,JarIndex机制收集在,Applet或者应用程序中定义的所有JAR文件的内容,并将这些信息存储到第一个JAR 文件中的素引文件中。下载了第一个JAR文件后,Appet类装收器将使用收集的目录信息高效地装教剩余的JAR文件。这个目录信息存储在根JAR 文件的META-NF目承中个名为INDEX.LIST的特定的简单文本文件中。

例如使用命令行jar i first.jar two.jar

意思是把第一个jar文件作为索引添加到first.jar中,这是first.jar文件中就多出了一个INDEX.LIST的文件。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值