Java清单文件

时间:2011-04-27 14:16:21

标签: java manifest bundle

我试图理解这些文件,我似乎能够找到易于理解和记忆的阅读。有人可以解释清单文件,以及为什么创建它们?关于bundle的解释也将受到赞赏。

请,谢谢

3 个答案:

答案 0 :(得分:14)

Java中的“Manifest”通常表示jar文件中的META-INF/MANIFEST.MF file

它添加了有关.jar文件及其内容的元数据。

最常见的用法可能是指定jar文件的主类(通过Main-Class属性)以允许直接执行jar文件(使用java -jar myFile.jar)。

其他用途是:

  • 存储用于签名验证的存储文件的哈希值
  • 密封jar文件(即确保只有此jar文件中的类加载到此jar文件中定义的包中)。
  • 存储可在运行时读取的版本/产品/生产者信息

这个通用的Java机制是explained in this tutorial

由于你也提到了bundle,你可能实际谈论OSGi Bundle Manifest,它构建在该机制之上,将一个简单的jar文件转换为一个bundle (又名“模块”,有时是“插件”)。

答案 1 :(得分:1)

在Java平台上,Manifest文件是一个 JAR存档中包含的特定文件。它用于定义扩展和包 - 相关数据。它是包含的元数据文件 名称 - 值对组织在不同的 部分。如果要使用JAR文件 作为可执行文件,清单文件 指定应用程序的主类。该 清单文件名为MANIFEST.MF。

答案 2 :(得分:0)

据我所知,使用了清单:

  • 提供有关特定jar的人类可读信息:如版本,生产者,jdk它是针对构建的,可能是持续集成服务器构建的ID等等
  • 在OSGi
  • 等框架中提供类似模块依赖性的机器可读信息

大多数信息通常都是机器人和机器可读的。