我们把MANIFEST中的配置信息进行分类,可以归纳出下面几个大类:
一. 一般属性
1. Manifest-Version
用来定义manifest文件的版本,例如:Manifest-Version: 1.0
2. Created-By
声明该文件的生成者,一般该属性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1
3. Signature-Version
定义jar文件的签名版本
4. Class-Path
应用程序或者类装载器使用该值来构建内部的类搜索路径
二. 应用程序相关属性
1. Main-Class
定义jar文件的入口类,该类必须是一个可执行的类,一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件。
三. 小程序(Applet)相关属性
1. Extendsion-List
该属性指定了小程序需要的扩展信息列表,列表中的每个名字对应以下的属性
2. <extension>-Extension-Name
3. <extension>-Specification-Version
4. <extension>-Implementation-Version
5. <extension>-Implementation-Vendor-Id
5. <extension>-Implementation-URL
四. 扩展标识属性
1. Extension-Name
该属性定义了jar文件的标识,例如Extension-Name: Struts Framework
五. 包扩展属性
1. Implementation-Title 定义了扩展实现的标题
2. Implementation-Version 定义扩展实现的版本
3. Implementation-Vendor 定义扩展实现的组织
4. Implementation-Vendor-Id 定义扩展实现的组织的标识
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==
这段内容定义类签名的类名、计算摘要的算法名以及对应的摘要内容(使用BASE64方法进行编码)
- 浏览: 57399 次
- 性别:
- 来自: 成都
相关推荐
Web-Inf和Meta-Inf详解 Web-Inf和Meta-Inf是两种常见的配置文件,在Java Web应用程序中扮演着重要的角色。下面我们将详细介绍Web-Inf和...了解Web-Inf和Meta-Inf的作用、结构和应用是Java Web开发者不可或缺的技能。
`META-INF` 文件夹是 Java 应用程序中的一个重要组成部分,它主要用于存放与应用程序相关的元数据信息,例如清单文件(`MANIFEST.MF`)等。在 Eclipse 开发环境中,对于每一个打包成 JAR 的应用程序来说,`META-INF`...
在IT行业中,`META-INF` 是一个特殊目录,通常出现在Java的JAR文件、Android的APK文件或者一些归档格式如RAR、ZIP中。这个目录包含了一些元数据(metadata)和配置信息,对理解软件的结构和运行至关重要。在这个场景...
下面我们将深入探讨`META-INF`目录及其在`.zip`代码中的作用。 1. **MANIFEST.MF文件**:`META-INF`目录下的`MANIFEST.MF`是每个Java归档文件的核心组成部分。它是一个文本文件,包含了关于`.jar`文件的基本信息,...
"META-INF"是Java存档(JAR)文件或者安卓APK文件中常见的一个目录,它存储元数据,如数字签名、版本控制信息等,这些对于确保软件的完整性和安全性至关重要。 在Android系统中,"Analog TV"可能指的是模拟电视接收...
在Java开发中,`auto-service` 是一个非常实用的库,它可以帮助开发者自动地生成`META-INF/services` 文件。这个文件通常用于实现Java SPI(Service Provider Interface)机制,这是一种允许程序在运行时发现并加载...
HBase 元数据修复工具包。 ①修改 jar 包中的application.properties,重点是 zookeeper.address、zookeeper.nodeParent、hdfs....③开始修复 `java -jar -Drepair.tableName=表名 hbase-meta-repair-hbase-2.0.2.jar`
Resource[] resources = resolver.getResources("classpath:META-INF/INDEX.LIST"); Assert.assertEquals(1, resources.length); //只加载一个匹配的Resource,且通过ResourceLoader.getResource进行加载 ...
本文将详细介绍 Java 项目的目录结构及其作用,包括 META-INF 目录、WEB-INF 目录等。 META-INF 目录 META-INF 目录是 Java 项目中最重要的目录之一,它用于存储包和扩展的配置数据,如安全性和版本信息。Java 2 ...
"META-INF"目录在Java应用中是标准的元数据目录,通常包含MANIFEST.MF文件,这个文件包含了关于JAR文件的信息,如版本号、主类等。此外,如果SQLJDBC4驱动遵循Java的Service Provider Interface (SPI)机制,那么在...
META-INF/MANIFEST.MF commonj.timers.CancelTimerListener.java commonj/timers/package.html commonj.timers.StopTimerListener.java commonj.timers.Timer.java commonj.timers.TimerListener.java commonj....
提供对类路径上META-INF/MANIFEST.MF轻松访问。 用法 请参阅samples模块。 背景故事 我正在构建一个可执行的 uberjar 并正确填充META-INF/MANIFEST.MF的Implementation-Version 。 我希望清单成为该信息的唯一真实...
在jar包中的`META-INF/spring.factories`文件中声明配置类,Spring Boot启动时会自动加载。例如: ``` org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.example.MyConfig ``` **总结** 加载...
在Java SPI中,服务接口通常定义在`META-INF/services`目录下的一个特定配置文件中,文件名为`接口全限定名`。例如,如果服务接口为`com.example.MyService`,那么对应的配置文件就是`META-INF/services/...
在给定的“Java project code7”项目中,我们可以看到两个关键的目录:“META-INF”和“WEB-INF”。这两个目录在Java Web应用中尤其常见,它们各自承载着特定的功能和信息。 1. **META-INF目录**: - **MANIFEST....
├── META-INF │ └── MANIFEST.MF ├── pom.xml └── src ├── main │ ├── java │ │ ├── META-INF │ │ │ └── MANIFEST.MF │ │ ├── Main.java │ │ └── sample │ │ ├...
结合这些元素,我们可以推断"Java project code5"可能是一个基于Java的Web应用,其中`category.json`负责存储业务相关的分类信息,`WEB-INF`目录包含了应用的逻辑代码和配置,而`META-INF`提供了关于应用元数据和...
此外,值得注意的是,从Java 6开始,JDBC驱动可以通过在`META-INF/services/java.sql.Driver`文件中指定驱动类名,实现自动加载,无需显式调用`Class.forName()`方法。这使得应用更简洁,也更符合现代Java编程习惯。...
3.用WINRAR打开JAR文件,把里面的META-INF文件夹解压出来,打开META-INF文件夹,里面有个MANIFEST.MF文件,用记事本打开这个文件,直接在最后加上两句. Nokia-MIDlet-auto-start: no Nokia-MIDlet-no-exit: true 退出保存...
+META-INF +org.springframework.boot.loader ``` 其中,B项目作为一个子依赖被包含在`BOOT-INF/lib`目录下。在这种情况下,A项目在启动时无法正确扫描到B项目中的注解。 #### 解决方案 为了解决上述问题,我们...