4

Javaコード内のマニフェストファイルを読み取ることはできますが、それが可能かどうか、可能であれば、コマンドラインからJARファイルを開いてそのManifest.MFファイルを表示する方法も知りたいです。または、少なくともManifest.MFファイルのプロパティを指定して、その値を表示することができます。

4

7 に答える 7

5

ここから:

jar ファイルから選択したエントリを抽出できます。たとえば、meta-inf/manifest.mf ファイルのみを表示する場合は、

C:\Sun\AppServer\lib>jar xvf j2ee.jar META-INF/MANIFEST.MF
inflated: META-INF/MANIFEST.MF

または、スラッシュの代わりにバックスラッシュを使用します。

C:\Sun\AppServer\lib>jar xvf j2ee.jar META-INF\MANIFEST.MF
inflated: META-INF/MANIFEST.MF

エントリ名は大文字と小文字が区別されるため、次の例では何も抽出されません。

 C:\Sun\AppServer\lib>jar xvf j2ee.jar meta-inf/manifest.mf

もちろん、いつでもエントリをダブルクリックして、WinZip、fileroller、またはその他のツールで表示できます。

于 2009-07-10T13:46:06.210 に答える
2

このようなものが動作するはずです:

jar -xf <jarfile.jar> META-INF/MANIFEST.MF
于 2009-07-10T13:46:58.127 に答える
2

unzipコマンドが役立つようです。これは、ほとんどの Un*x バリアントで利用でき、Windows を使用している場合は cygwin の一部でもあります。unzip -qc *jar-file* META-INF/MANIFEST.MFマニフェストの内容をコンソールにダンプします。

于 2009-07-19T18:25:47.303 に答える
1

JDK が提供する jar 実行可能ファイルは、Linux で tar が動作するのと同じように動作します。

たとえば、jar xvf .... jar オプションを参照してください。

于 2009-07-10T13:45:24.633 に答える
1

ランタイムのプロパティは、マニフェストで定義しないでください。Java プロパティ スタイルに従う個別の構成ファイルで定義する必要があります。なんらかの理由で実行時にマニフェストをチェックしていると仮定します。

ただし、次のことが必要な場合:

jar xvf somejar.jar META-INF/MANIFEST.MF

あなたの楽しみのためにマニフェストを膨らませます。

于 2009-07-10T13:48:45.300 に答える
1

jarコマンドには方法がありません。最も近いのは、ファイル-tfの有無を表示するか、ファイルを抽出するために使用することです。META-INF/MANIFEST.MF-xf

回避策:

  • これを行うために独自のクラスを作成できます
  • 任意の ZIP ファイル ビューアーを使用してコンテンツを抽出できます。多くの場合、アーカイブ内のファイルのコンテンツを stdout に書き込み、別のコマンドにパイプできるようにします (jarファイルはファイルの特定の用途にすぎないことを思い出してくださいzip) 。
于 2009-07-10T13:50:28.467 に答える
0

そのためにviを使用するだけです。ファイルを変更しないようにしたい場合は、-R スイッチ (読み取り専用) を付けて開きます。例えば:

vi -R sample-1.0.0-SNAPSHOT.jar

上下の矢印で zip ファイルに移動するか、/ で検索できます。

/MANIFEST.MF

終了するには、次のシーケンスを入力します

:q <Enter>
于 2016-08-30T12:34:02.117 に答える