JNLP ファイル形式とは?
拡張子 .jnlp を持つファイルには、XML 構文を使用して保存されたデータが含まれています。このデータは、リモートサーバー上にソースコードが存在する Java アプリケーションまたはアプレットを記述しており、もともと Java Web Start によって実装された Java Network Launch Protocol に従ってローカルで起動されることを目的としています。
.jnlp ファイルには通常、以下の内容が含まれています:
- アプリケーションに関する情報 - タイトル、ベンダー、説明、ホームページ
- リソース - JAR archive パッケージがホストされている URL(
codebase属性) - セキュリティ設定 - アプリケーションに特定のアクションの実行を許可する権限
- ターゲット要素 - アプリケーションまたは Web アプレットのメインクラスとパラメータ
.jnlp ファイルには、JRE バージョンの要件、アイコン、ショートカットの設定、更新ポリシーに関する多くの詳細情報が含まれる場合もあります。完全な仕様は JSR-56(Sun Microsystems / Oracle)によって定義されており、<jnlp> ルート要素の属性はアプリケーションのサーバーの場所を指し示します。Java Web Start(JRE 1.4 から Java 8 まで同梱されていたオリジナルの javaws ランチャー)は Java 9(2017年)で非推奨となり、Java 11(2018年)で完全に削除されました。現代的な代替手段としては、OpenWebStart(クロスプラットフォームのオープンソース代替品)や Linux 上の IcedTea-Web があります。.jnlp ファイルの内容は、任意のプレーンテキストエディタを使用して表示および編集できます。
セキュリティと安全性
リスク: MEDIUMJNLP ファイル自体は不活性な XML ですが、それが起動するものはフル機能のデスクトップ Java アプリケーションであり、歴史的に <all-permissions/> を伴うことが多かったです。JNLP の添付ファイルは、javaws がリモートコードを取得して実行するため、2010年代には文書化されたフィッシングやマルウェアの媒介となっていました。今日では攻撃対象領域は小さい(現代の Java では実行できない)ですが、OpenWebStart やレガシーな Java 8 をインストールしている場合は、信頼できるサーバーからの JNLP ファイルのみを開き、まずテキストエディタで codebase の URL を確認する必要があります。予期しない .jnlp メールの添付ファイルは削除してください。
形式の詳細
概要JNLP ファイルを開くプログラム
技術的詳細
詳細仕様| フォーマットタイプ | XML アプリケーション起動記述子(プレーンテキスト) |
| ルート XML 要素 | 必須の `codebase` 属性とオプションの `href` 属性を持つ `<jnlp>` |
| MIME タイプ | `application/x-java-jnlp-file` |
| 文字エンコーディング | UTF-8(標準 XML。`<?xml?>` 処理命令で宣言) |
| バイナリシグネチャ | なし - プレーンテキスト XML。ファイルは `<?xml` で始まり、その後に `<jnlp>` ルート要素が続きます |
| 開発元 | Sun Microsystems(後の Oracle)。JSR-56 として標準化 |
| レガシーランチャー | `javaws` (Java Web Start)。JRE 1.4 から Java 8 まで同梱 |
| 現在のランチャー | OpenWebStart(クロスプラットフォーム、オープンソース)、IcedTea-Web(Linux) |
| ライフサイクルステータス | Java Web Start は Java 9(2017年)で非推奨、Java 11(2018年)で削除 |
| JAR 参照要素 | `<resources>` ブロック内の `<jar href="..."/>` がアプリケーションの `.jar` パッケージをリンク |
| セキュリティ記述子 | `<security><all-permissions/></security>` はフルアクセスを許可。存在しない場合はサンドボックス化 |
| JRE バージョン指定 | `<java version="..."/>` または `<j2se version="..."/>` 要素で最小ランタイムを指定 |
| オフライン起動サポート | `<offline-allowed/>` 要素により、最初の JAR キャッシュ後にネットワークなしでの起動を許可 |
| サポートされるアプリ形式 | 標準 Java アプリケーション、アプレット、およびインストーラー拡張(ネストされた `<extension>` JNLP) |
| JAR キャッシュ | ランチャーは JAR をダウンロードしてローカルにキャッシュ。`<jar>` の `version` 属性により差分更新が可能 |
| リリース日 | 2001 (Java Web Start, J2SE 1.3.1/1.4 era; standardized as JSR-56) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | jcp.org |
JNLP の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。JNLP ファイルについて最初の質問をしてみましょう。
よくある質問
JNLP ファイルを開いても何も起こらないのはなぜですか?
2026年に JNLP ファイルを開くにはどうすればよいですか?
Java Web Start は復活しますか?
JNLP ファイルは危険ですか?
.jnlp ファイルは、信頼できるサーバーからのみ開き、メールの添付ファイルからは絶対に開かないでください。