2012-07-10 54 views
10

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中的这些类吗?

+2

不,它是一个元数据信息,假设如果你想创建一个可执行的jar然后manifest用来指定你的应用程序的启动类 – 2012-07-10 08:56:11

+0

的目的清单文件中,您链接到网页解释清楚,而且也没有一点我们反复回给你。只是,阅读它,试图理解它,如果你有特定的问题,请在新的问题中提问。 – 2012-07-10 09:05:24

回答

7

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

Mainfest文件主要闻名包含持有的主要功能,各种类在包中的类的名称...

当你创建一个JAR文件,它自动接收一个默认的manifest文件。可以有存档只有一个清单文件,它总是有路径

META-INF/MANIFEST.MF 
1

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

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

1

是否在罐子里自动更新这些类,如果有服务器中的任何改变?

这些条目是被设计为检测其中有人已经与篡改的情况下的系统的一部分(签名)JAR文件;例如通过替换“黑客”版本的类。

-1

清单是一个Jar内组装的特定无级文件,其中包含的描述对密钥和该罐的值,并且我们通常称之为元数据的,它告诉最终用户或呼叫者:

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