

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
manifest.mfとは?
manifest.mf は Java の世界でよく登場するファイル名です。実務では META-INF/MANIFEST.MF というパスで JAR ファイルの中に格納され、アプリの動作に関する情報を指示します。呼び方として manifest.mf という略称を使うこともありますが本来の正式名称は MANIFEST.MF です。名前の大文字小文字が意味する点にも注意しましょう。
manifest.mfの基本
manifest.mf はテキストファイルであり キーと値 をコロンとスペースで結んだ形式で書かれます。行の終わりで一つの属性を表し、必要に応じて次の行へと続けることができます。
このファイルが JAR に含まれると、Java の実行環境はここに書かれた情報を参照して動作します。
主な属性の例
Manifest-Version はマニフェストのバージョンを表します。通常は 1.0 が使われます。
Main-Class は実行時のエントリーポイントとなるクラス名を指します。JAR を直接実行する際に重要です。
Class-Path には依存するライブラリのパスを列挙します。複数のファイルがある場合はスペースで区切ります。
Created-By には作成した Java のバージョンなどの情報が入ることがあります。
実例と読み方
以下はよくある書き方の一例です。Manifest-Version: 1.0, Main-Class: com.example.Main, Class-Path: lib/somelib.jar
実務では改行を多用せず読みやすい形式で書くことが多いです。ファイル名は一般に META-INF/MANIFEST.MF ですが取り扱いの現場では manifest.mf という呼び方を目にすることもあります。
作成と検証のヒント
JAR を作成するときに自分で manifest.mf を用意する場合は jar コマンドを使います。例として以下のような手順で作成します。まず manifest.mf を準備し次に jar コマンドで結合します。作成後は jar tf アーカイブ名.jar で内容を確認し、MANIFEST.MF が META-INF 配下に正しく格納されているかをチェックします。
よくある注意点
エントリーポイントを間違えると実行時にエラーになります。Class-Path の指定が不正だとライブラリが見つからず動作が止まります。ファイル名は大文字小文字の違いで認識が変わることがあるので慣れていないうちは正式な名称を使う習慣をつけましょう。
| 属性 | 説明 |
|---|---|
| Manifest-Version | マニフェストのバージョン。通常 1.0。 |
| Main-Class | 実行時のエントリポイントとなるクラス名。 |
| Class-Path | 依存ファイルのパスを列挙。複数はスペースで区切る。 |
| Created-By | 作成した Java の情報を記録することがある。 |
このように manifest.mf は JAR の動作を左右する重要な情報源です。正しく理解して使いこなせば、依存関係の管理や実行時の挙動を柔軟に制御できます。
manifest.mfの同意語
- マニフェストファイル
- ソフトウェアパッケージのメタデータを格納するファイルの名称。一般に manifest.mf のようなファイルを指す。
- マニフェスト
- マニフェストファイルを指す略称。パッケージ情報を表す概念として使われる。
- MANIFEST.MF
- 実際のファイル名。大文字表記で、JavaのJAR/ZIPアーカイブ内のマニフェストファイルとして用いられる。
- META-INF/MANIFEST.MF
- JAR/WAR などのアーカイブ内に格納されているマニフェストファイルの正確なパス。
- JARマニフェストファイル
- Java の JAR パッケージのメタデータを格納するファイル。
- Javaマニフェストファイル
- Java 環境で使われるマニフェストファイル。主に JAR に含まれる。
- アプリケーションマニフェストファイル
- アプリケーションのメタデータを定義するためのファイル形式。
- アプリケーションのマニフェスト
- アプリケーションのメタデータを指す表現。ファイル自体を指す場合もある。
- メタデータファイル(マニフェスト情報を含むもの)
- ソフトウェアのメタデータを格納するファイルの総称。マニフェストの情報を含むことが多い。
- マニフェスト情報ファイル
- マニフェストに含まれる情報(署名・バージョン・依存関係など)を格納するファイル。
manifest.mfの対義語・反対語
- マニフェストなし
- 意味: manifest.mf のようなメタデータファイルが存在しない、またはマニフェスト情報が不在の状態。
- 非マニフェストファイル
- 意味: manifest.mf 形式のファイルではなく、マニフェスト情報を持たないファイル。名前が manifest.mf ではないことを指す表現。
- データ本体ファイル
- 意味: メタデータ(マニフェスト)ではなく、中身となるデータ本体を格納しているファイル。実データ中心のイメージ。
- メタデータ無しファイル
- 意味: ファイルに付随する説明情報(作者・用途・依存関係など)が含まれていないファイル。
- 生データファイル
- 意味: 加工前の未整形のデータを格納するファイル。メタ情報や設定情報が少ない・ない状態を連想させる表現。
- データだけを含むファイル
- 意味: ファイルの内容がデータそのものだけで、設定情報や追加のメタ情報が付随していない状態。
- マニフェスト抜きファイル
- 意味: マニフェストファイルを含まない構成のファイルや、マニフェスト情報を使わないケースを指す表現。
- マニフェストとは別の形式のファイル
- 意味: manifest.mf 以外の規格・フォーマットでメタ情報を扱うファイルのこと。
manifest.mfの共起語
- MANIFEST.MF
- JARファイル内のマニフェスト情報を格納する標準的なファイル名。メタデータはこのファイルに記述されます。
- META-INF
- JARなどのアーカイブのメタデータを格納するディレクトリ。MANIFEST.MF も通常この中に置かれます。
- META-INF/MANIFEST.MF
- JAR内に格納されている実際のマニフェストファイルのフルパス。ここに属性が並ぶ。
- Manifest-Version
- マニフェストの仕様バージョンを示す属性。通常は 1.0 が使われます。
- Main-Class
- アプリケーションを実行する際のデフォルトのエントリポイントとなるクラス名。
- Class-Path
- このJARが依存する外部ライブラリのクラスパスをスペース区切りで列挙した属性。
- Created-By
- このマニフェストを作成したJavaランタイム/ツールの情報(例: Java 11)。
- Implementation-Title
- 実装のタイトル。配布物の名称に相当します。
- Implementation-Version
- 実装のバージョン情報。配布物のリリース番号など。
- Specification-Version
- 仕様のバージョン情報。外部仕様のバージョンを示します。
- Specification-Vendor
- 仕様を提供するベンダー名。
- Sealed
- 特定の名前空間(Name で指定したパッケージ)を「封印」して別のクラスローダで分離して読み込む設定。
- Name
- マニフェスト内のセクション識別子。各パッケージやエントリに対して個別の属性を設定する際のキー。
- Permissions
- セキュリティ/権限に関する情報。実行環境の権限要求を示すことがあります。
- Codebase
- コードの出所を示す情報。通常は信頼のある出所を指します。
- Digest-Algorithms
- 署名時に使われるダイジェストアルゴリズムの一覧。
- SHA-1-Digest
- エントリの SHA-1 ハッシュ値(署名時の検証に使われることがあります)。
- SHA-256-Digest
- エントリの SHA-256 ハッシュ値。
- Signed-By
- JAR に署名している信頼者の識別子。署名済みの場合に登場します。
manifest.mfの関連用語
- manifest.mf
- Javaアーカイブ(JAR/WAR/EAR)などの中で使われるメタデータファイルの名称。META-INFディレクトリ直下に配置され、アーカイブの動作や依存関係、エントリポイントなどを定義します。
- MANIFEST.MF
- MANIFEST.MFは大文字表記のファイル名で、META-INF/MANIFEST.MFとして格納される、マニフェスト情報の標準ファイルです。
- META-INF
- アーカイブ内のメタ情報を格納する特別なディレクトリ。MANIFEST.MFや署名情報ファイルが入ります。
- Manifest-Version
- マニフェストファイルの仕様バージョン。現在は通常 1.0。
- Created-By
- このマニフェストを作成したJava実行環境を示す情報(JRE/JDKのバージョンやベンダー)。
- Main-Class
- 実行時に最初に実行されるクラスを指定するエントリポイント。JARを実行する際に必須になることがあります。
- Class-Path
- 依存するクラスパスをスペース区切りで列挙する。外部のJARファイルを参照する際に使います。
- Sealed
- パッケージを密封するかどうかを示す属性。true または false。指定したパッケージのクラスは同じJAR内からのみ提供されます。
- Name
- この後に続くエントリの名前を示す見出し。Name: <ファイル名> の形式でエントリごとの属性を付与します。
- Digest-Algorithms
- このマニフェストの各エントリのダイジェスト(ハッシュ値)を計算するために使われるアルゴリズムの一覧。例: SHA-256, SHA-1。
- SHA-1-Digest
- 個々のエントリファイルのSHA-1ダイジェスト値。署名検証に使われます。
- SHA-256-Digest
- 個々のエントリファイルのSHA-256ダイジェスト値。より強力な検証に対応します。
- SHA1-Digest-Manifest
- 全体のマニフェストのSHA-1ダイジェスト値。署名検証の一部として使われます。
- SHA-256-Digest-Manifest
- 全体のマニフェストのSHA-256ダイジェスト値。
- Signature-Version
- 署名付きJARの場合の署名仕様バージョン。通常は 1.0。
- Codebase
- Appletなど古い技術で、許可されるコードの配布元URLを指定します。現代のアプリにはあまり使われません。
- Permissions
- Applet向けのセキュリティ権限を指定。現在はほとんど使われませんが歴史的に重要でした。
- Bundle-SymbolicName
- OSGiのバンドル識別子。モジュール名の役割を果たします。
- Bundle-Version
- OSGiバンドルのバージョン情報。
- Export-Package
- OSGiで外部へ公開するパッケージを宣言します。
- Import-Package
- OSGiで他のバンドルから依存するパッケージを宣言します。
- Implementation-Title
- 実装のタイトル。作者や製品名の表示に使われます。
- Implementation-Version
- 実装のバージョン情報。
- Implementation-Vendor
- 実装提供者の名称。
- Specification-Title
- 仕様のタイトル。モジュールが満たすべき仕様の名前。
- Specification-Version
- 仕様のバージョン。
- Specification-Vendor
- 仕様の提供者。
manifest.mfのおすすめ参考サイト
- マニフェストファイルとは - IT用語辞典 e-Words
- マニフェストファイルとは - IT用語辞典 e-Words
- AndroidManifest.xmlとは?分かりやすく説明 - AndroidBlog.東京



















