问题 清单文件的目的是什么


http://java.sun.com/developer/Books/javaprogramming/JAR/basics/manifest.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中的这些类吗?


5993
2017-07-10 08:53


起源

不,它是元数据信息,假设您要创建可执行jar,那么manifest用于指定应用程序的启动类 - Rahul Agrawal
清单文件的目的在您链接的页面中清楚地解释,我们没有必要重复给您。只是,阅读它,尝试理解它,如果你有特定的问题,请在一个新的问题中询问它们。 - Stephen C


答案:


manifest是一个特殊文件,可以包含有关JAR文件中打包的文件的信息。通过剪裁这个 “元” 清单包含的信息,您启用JAR文件以满足各种用途。

Mainfest文件主要用于包含保存主函数的类的名称,包中的各个类...

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

META-INF/MANIFEST.MF

8
2017-07-10 08:58





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

它在更新文件时不起作用。


2
2017-07-10 09:05





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

没有。

这些条目是系统的一部分,旨在检测某人篡改(签名)JAR文件的情况;例如用“被黑”版本替换类。


2
2017-07-10 09:09





清单是一个在Jar中组装的特定无类文件,它包含这个Jar的描述性键和值,我们通常将其称为元数据,它告诉最终用户或调用者:

Jar的建议是什么?谁是作家?什么时候创建的?创造环境是什么?什么是JDK版本?甚至更多...(假设在清单中有这些值)


-1
2017-07-10 09:34