文档章节

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

s
 snecker
发布于 2017/06/04 09:59
字数 542
阅读 332
收藏 0

如果平常有注意的话,会发现经常碰到一个叫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相关的配置信息

© 著作权归作者所有

共有 人打赏支持
s
粉丝 1
博文 43
码字总数 10092
作品 0
长沙
技术主管
私信 提问
使用java -jar运行jar包

1.其实命令比较简单:进入相应的目录后,执行java -jar XXX.jar即可! 2.但是,为什么通过Maven打包或者Eclipse export出来的jar不能运行呢?原因很简单,没指定执行哪个类的main方法,如何指...

beanGou
2013/12/06
0
0
制作双击可以直接运行的jar包

将java程序变成可直接双击执行的应用程序! 1.先建立一个空文件夹 2.把所有的源文件拷贝到空文件夹下 3.编译此文件夹下的源文件 4.删除源文件(只是不想让别人看到源代码) 5.jar cvf test.j...

方绍伟
2014/02/25
0
0
解压和打包Jar

简介 1. 压缩包: jar cvf filename.jar a.class b.class: 压缩指定文件; jar cvf weibosdkcore.jar *: 全部压缩; 2. 解压包: jar xvf test.jar 详解 jar命令有生成、查看、更新、解开jar...

海阔天空玩世不恭
2016/08/22
22
0
android多渠道-N种方法-android多渠道-N种方法---MutiChannelPackup

<h1 MutiChannelPackup<p Android多渠道打包,有网页版,Gradle版,Python版、BAT脚本、Jar版…看大家的喜好选择 META-INF渠道识别型:网页版、Python版、BAT脚本、Jar版、 Manifest渠道识别...

彭建波
2015/10/16
402
0
在Eclipse集成开发平台中利用XFire框架发布Webservice

一、正所谓“工欲善其事,必先利其器”,下面就先来配置运行环境吧! 下载xfire-distribution-1.2.6.zip压缩包到本地,解压后将xfire-all-1.2.6.jar和lib文件夹里面的jar放到同一个文件夹xfi...

lingyunspace
2015/07/13
0
16

没有更多内容

加载失败,请刷新页面

加载更多

jena RDF学习笔记

一、首先要了解RDF和Jena RDF的介绍: An Introduction to RDF and the Jena RDF API RDF及Jena RDF API介绍(中翻) 在Jena中,用于表示单个三元组的Java类是Statement。根据RDF规范,只有资...

孙幼凌
29分钟前
1
0
HTML5 240行代码实现粒子漩涡特效

效果 源码如下 <!doctype html><html><head><meta charset="utf-8"><title>H5,200行代码实现粒子漩涡特效</title><style>html,body{margin:0px;width:100%;height:100%......

lanyu96
35分钟前
2
0
fine report

FineReport xx no: 0941626c-5e513d196-f528-74a7c52d8e61

youngjdong
37分钟前
2
0
get right firefox version for your selenium

find the selenium location path find / -name selenium output: /usr/local/lib/python2.7/dist-packages/selenium get the "webdriver.xpi" file, the file is under "/usr/local/lib/pyt......

关上越
44分钟前
1
0
为小程序端添加一个session机制

我们做后台用户认证的时候一般会借助于session机制,非常方便,今天我们使用小程序的Storage机制自己实现一个session。 本文思路来自于前几日对微信wafer的源码阅读,感谢wafer所有代码编写者...

阿北2017
47分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部