2012-07-10 12 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を作成する場合は、マニフェストを使用してアプリケーションの開始クラスを指定します。 –

+0

マニフェストファイルはあなたがリンクしているページにはっきりと説明されています。私たちがそれをあなたに返すという要点はありません。ちょうど、それを読んで、それを理解しようとする、そしてあなたが特定の質問をしているならば、新しい質問で彼らに尋ねなさい。 –

答えて

7

マニフェストは、JARファイルにパッケージされたファイルに関する情報を含むことができる特別なファイルです。マニフェストに含まれる"meta"情報を調整することで、JARファイルをさまざまな目的で使用できるようになります。

あなたがJARファイルを作成するときに主に...パッケージのさまざまなクラス間で、主な機能を保持しているクラスの名前が含まれているため

を知られているMainfestファイル、それは自動的にデフォルトのマニフェストファイルを受信。そこアーカイブで唯一のマニフェストファイルであって、それは常に

META-INF/MANIFEST.MF 
1

マニフェストファイルは、ファイルのメタデータを提供してパス名を持つことができます。メタデータは、名前と値のペアの形式です。上記の例では、マニフェストファイルなしで計算されるクラスファイルのMD5ハッシュを提供しています。これはセキュリティ対策であるため、誰かがファイルを変更してハックしたコードを追加した場合は、その署名で検出できます。

ファイルの更新には何の役割もありません。

1

サーバに変更があった場合、自動的にjarのクラスを更新しますか?

これらのエントリは、誰かが(符号付き)JARファイルを改ざんしている場合を検出するように設計されたシステムの一部です。例えばクラスを「ハッキングされた」バージョンに置き換えることによって

-1

マニフェストは、この瓶のキーと値の記述のペアが含まれ、我々は通常、それはメタデータと呼ばれる、それはエンドユーザーや発信者に知らせるジャーの中に組み立てられ、特定の無クラスファイル、次のとおりです。

Jarの提案は何ですか?誰が作家ですか?それが作成されたとき?創造は何ですか? JDKのバージョンは何ですか? (さらにマニフェストにこれらの値があると仮定します)

関連する問題