jar包中的META-INF 文件夹是干嘛的?

如果平常有注意的话,会发现经常碰到一个叫META-INF的文件夹,比如在tomcat项目中,jar包中解压后.

jar文件本质上是一个基于zip格式的压缩类型,大多数场景下,包含字节码二进制文件,资源文件,然后可以作为一个模块单独提供给第三方使用. 但有时也可以发现与资源文件同级的目录下有一个叫META-INF的文件夹,META-INF有什么作用呢?

找到官网,并尝试翻译了下

如果META-INF文件夹存在的话,是用来存储包和扩展的配置数据,包含安全,版本,扩展和服务

原文是

The META-INF directory, if it exists, is used to store package and extension configuration data, including security, versioning, extension and services.

META-INF下支持四种类型,会被java自动识别并解析,用于配置 应用,扩展,类加载器,服务

  1. MANIFEST.MF

MANIFEST文件用来定义扩展和包相关的数据,

  1. INDEX.LIST

如果使用了jar工具的 "-i"选项,这个文件就会自动生成.文件包含了路径信息和应用或扩展的包定义.它是部分jar索引的实现方式,可用来提高类加载器的加载速度

  1. x.SF

jar包的签名文件,包含清单信息,SF表示signature file, "x" 是文件名

  1. x.DSA The signature block file associated with the signature file with the same base file name. This file stores the digital signature of the corresponding signature file. DSA是一种非对称的数字签名算法.可简单理解为"私钥加密生成数字签名,公钥验证数据及签名", x.DSA是"x.SF"文件关联的同名的"签名块文件",里面存着x.SF的数字签名. SF签名文件和DSA签名块文件可用"jarsigner"命令生成.其实还支持RSA算法,对应的是.RSA的 后缀名

  2. services/

目录文件,存放 服务提供者 的配置文件

  1. 平常还有一种情况,通过maven打包的话,在META-INF 下面默认还会包含maven目录,maven目录下会含有pom相关的配置信息

转载于:https://my.oschina.net/fuye/blog/913964

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值