5. Implementation-URL : 定义该扩展包的下载地址(URL)
6. Specification-Title 定义扩展规范的标题
7. Specification-Version 定义扩展规范的版本
8. Specification-Vendor 声明了维护该规范的组织
9. Sealed 定义jar文件是否封存,可以是true或者false (这点我还不是很理解)
六.签名相关属性
签名方面的属性我们可以来参照JavaMail所提供的mail.jar中的一段
Name: javax/mail/Address.class
Digest-Algorithms: SHA MD5
SHA-Digest: AjR7RqnN//cdYGouxbd06mSVfI4=
MD5-Digest: ZnTIQ2aQAtSNIOWXI1pQpw==
这段内容定义类签名的类名、计算摘要的算法名以及对应的摘要内容(使用BASE方法进行编码)
七.自定义属性
除了前面提到的一些属性外,你也可以在MANIFEST.MF中增加自己的属性以及响应的,例如J2ME程序jar包中就可能包含着如下信息
MicroEdition-Configuration: CLDC-1.0
MIDlet-Name: J2ME_MOBBER Midlet Suite
MIDlet-Info-URL:
MIDlet-Icon: /icon.png
MIDlet-Vendor: Midlet Suite Vendor
MIDlet-1: mobber,/icon.png,mobber
MIDlet-Version:1.0.0
MicroEdition-Profile: MIDP-1.0
MIDlet-Description: Communicator
关键在于我们怎么来读取这些信息呢?其实很简单,JDK给我们提供了用于处理这些信息的API,详细的信息请见java.util.jar包中,我们可以通过给JarFile传递一个jar文件的路径,然后调用JarFile的getManifest方法来获取Manifest信息。
更详细关于JAR文件的规范请见
中文说明
附:
大多数Java程序员都熟悉对JAR文件的基本操作。但是只有少数程序员了解JAR文件式的强大功能。在本文中,作者探讨了JAR式的许和优势,包括打包、可执行的JAR文件、安全性和索引。
JAR文件是什么?
JAR文件式以流行的ZIP文件式为基础,用于将许多个文件聚集为一个文件。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用。在JAR中包含特殊的文件,如manifests和部署描述符,用来指示工具如何处理特定的JAR。
一个JAR文件可以用于:
用于发布和使用类库
作为应用程序和扩展的构建单元
作为组件、applet或者插件程序的部署单位
用于打包与组件相关联的辅助资源
JAR文件式提供了许多优势和功能,其中很多是传统的压缩式如ZIP或者TAR所没有提供的。它们包括:
安全性。可以对JAR文件内容加上数字化签名。这样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码是否被篡改过。
减少下载时间。如果一个applet捆绑到一个JAR文件中,那么浏览器就可以在一个HTTP事务中下载这个applet的类文件和相关的资源,而不是对每一个文件打开一个新连接。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-41868-2.html
是怨那些害人的传统观念