2012-07-10 131 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版本?甚至更多...(假設有清單中的這些值)