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ファイルを作成すると、デフォルトのマニフェストファイルを自動的に受け取ります。アーカイブにはマニフェストファイルは1つしか存在できず、常にパス名があります

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

マニフェストは、Jar 内で組み立てられた特定のクラスなしファイルであり、この Jar の説明的なキーと値のペアが含まれており、通常はメタデータと呼ばれ、エンド ユーザーまたは呼び出し元に次のように伝えます。

ジャーの提案は何ですか?作家は誰ですか?いつ作成されましたか?作成環境とは何ですか?JDKのバージョンは?さらに...(これらの値がマニフェストにあると仮定)

于 2012-07-10T09:34:08.633 に答える