18

https://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html

清单文件有什么作用?它的目的是什么?

Manifest-Version: 1.0

Name: java/math/BigDecimal.class
SHA1-Digest: TD1GZt8G11dXY2p4olSZPc5Rj64=
MD5-Digest: z6z8xPj2AW/Q9AkRSPF0cg==

Name: java/math/BigInteger.class
SHA1-Digest: oBmrvIkBnSxdNZzPh5iLyF0S+bE=
MD5-Digest: wFymhDKjNreNZ4AzDWWg1Q==

如果服务器有任何变化,它会自动更新 jar 中的这些类吗?

4

5 回答 5

12

清单是一个特殊文件,可以包含有关打包在 JAR 文件中的文件的信息。通过定制清单包含的“元”信息,您可以使 JAR 文件服务于各种用途。

Mainfest 文件主要以包含包含 main 函数的类的名称而闻名,在包中的各种类中...

创建 JAR 文件时,它会自动接收默认清单文件。存档中只能有一个清单文件,并且它始终具有路径名

META-INF/MANIFEST.MF
于 2012-07-10T08:58:50.637 回答
8

清单文件有什么作用?它的目的是什么?

目的是保存有关 JAR 文件及其包含的类的元数据。元数据用于多种用途,包括跟踪 JAR 的来源、防止篡改以及提供可执行JAR 所需的额外信息。

您问题中的链接已损坏。这里有几个选择:

如果服务器有任何变化,它会自动更新 jar 中的这些类吗?

不。

这些条目是检测 JAR 文件篡改方案的一部分;例如,有人用修改后的版本替换了这些类。(该方案的其他部分是散列的数字签名,以及启动器中在启动前检查签名和散列的东西。)

于 2012-07-10T09:09:46.967 回答
3

清单文件提供文件的元数据。元数据采用名称-值对的形式。在您上面的示例中,他们提供了类文件的 MD5 哈希,该哈希是在没有清单文件的情况下计算的。这是一种安全措施,因此如果有人修改了文件并添加了一些黑客代码,您可以使用签名检测到它。

它在更新文件中没有任何作用。

于 2012-07-10T09:05:17.987 回答
-1

The manifest is a specific no-class file assembled within a Jar, which contains the descriptive pairs of keys and values of this Jar and we usually called it metadata, it tells end users or callers:

what the propose of Jar? who is the writer? when it was created? what is creation env? what is JDK version? and even more...(Assuming have these values in manifest)

于 2012-07-10T09:34:08.633 回答
-1

清单文件在流媒体内容中起着非常重要的作用。因为它是一个文件,它告诉订阅者终端设备流媒体内容是什么。

此清单文件包含内容分辨率、内容解码器自适应比特率

如果您仍然想详细了解它,那么您可以访问这篇简短的文章,这将使您的所有困惑一目了然:什么是清单文件,用图表详细解释

于 2020-04-26T08:35:47.640 回答