< 目次

JNLP ファイルの構文


この章では次のトピックについて説明します。

はじめに

このリリースで使用している形式は、「JSR-00056: Java Network Launching Protocol and API」に指定されている形式と同じです。このガイドでは、JNLP ファイルでもっともよく使われる要素について説明しています。この形式の完全な説明については、仕様を参照してください。


JNLP ファイルの内容

要素

Attributes

説明

導入されたバージョン

必須

jnlp


jnlp ファイルでメインとなる XML 要素。すべて jnlp 要素に含まれています。

1.0

はい


spec

spec 属性には 1.0、1.5.0、6.0、6.0.10、6.0.18、7.0 を選択できます。または、1.0+ のようなワイルドカードも使用できます。その jnlp ファイルが適切に動作できる、JNLP 仕様の最小バージョンを示します。

1.0



codebase

codebase 属性には、JNLP ファイルの href 属性で指定されているすべての相対 URL の基本となる場所が指定されています。

1.0



href

href は JNLP ファイルの URL を指定します。

1.0



version

JNLP ファイルのバージョンと起動されたアプリケーションのバージョン。

1.0


information


information 要素には対象のアプリケーションとそのソースを説明したほかの要素が含まれています。

1.0

はい


os

この information 要素に対して適切なオペレーティングシステムを指定します。

1.5.0



arch

この information 要素に対して適切なアーキテクチャーを指定します。

1.5.0



platform

この information 要素に対して適切なプラットフォームを指定します。

1.5.0



locale

この information 要素に対して適切なロケールを指定します。

1.5.0


title


title 要素はアプリケーションのタイトルを指定します。

1.0

はい

vendor


vendor 要素はアプリケーションのプロバイダを指定します。

1.0

はい

homepage


アプリケーションのホームページ。

1.0



href

このアプリケーションの詳細情報が得られる場所を示す URL。

1.0

はい

description


アプリケーションを説明する短い文。

1.0



kind

説明タイプを示します。有効な値は one-line、short、tooltip です。

1.0


icon


ユーザーがアプリケーションを識別できるようにアイコンを示します。

1.0



href

アイコンファイルを指定する URL。アイコンファイルの形式には gif、jpg、png、ico があります。

1.0

はい


kind

推奨するアイコンの使用方法 (default、splash、shortcut) を示します。

1.0



width

イメージの解像度を指定するために使用できます。

1.0



高さ

イメージの解像度を指定するために使用できます。

1.0



depth

イメージの解像度を指定するために使用できます。

1.0


offline-allowed


クライアントシステムがネットワークから切断されてもこのアプリケーションが稼働できることを示します。

1.0


shortcut


shortcut 要素を使用すると、アプリケーションのデスクトップの統合に対する設定方法を示すことができます。

1.5.0



online

使用すると、アプリケーションの設定で、作成するショートカットをオンラインで実行するか、オフラインで実行するかを示すことができます。

1.5.0



install

shortcut 要素内で省略可能な install 属性を使用すると、「インストール済み」と見なされることに関するアプリケーションの優先設定を示すことができます。値が「true」の場合、アプリケーションはインストール済みと見なされることを希望しています。install 属性のデフォルト値は「false」です。Windows では、これによってアプリケーションが「プログラムの追加と削除」パネルに表示されるかどうかが決まります。

7.0


desktop


使用すると、アプリケーションの設定で、ショートカットをユーザーのデスクトップに配置するかどうかを示すことができます。

1.5.0


menu


使用すると、アプリケーションの設定で、メニュー項目をユーザーのスタートメニューに配置するかどうかを示すことができます。

1.5.0



sub-menu

使用すると、アプリケーションの設定で、メニュー項目を配置する場所を示すことができます。

1.5.0


association


特定の拡張子および特定の MIME タイプのプライマリハンドラとしてオペレーティングシステムに登録してほしいかどうかを JNLP クライアントに伝えるために使用できます。この要素を含める場合は、offline-allowed 要素も含めるか、jnlp 要素の href 属性を設定する必要があります。

1.5.0



extensions

アプリケーションが処理するために登録が必要なファイル拡張子のリスト (スペース区切り) を含んでいます。

1.5.0



mime-type

アプリケーションが処理するために登録が必要な MIME タイプを含んでいます。

1.5.0


related-content


アプリケーションに統合される可能性のある関連コンテンツの追加部分を示します。

1.5.0



href

関連コンテンツを指す URL。

1.5.0

はい






update


update 要素は、JNLP クライアントがアプリケーションの更新を処理する方法について示します。

6.0



check

JNLP クライアントが更新を確認する必要がある時期についての設定を示します。設定には、always、timeout、background を選択できます。

6.0



policy

アプリケーションの起動前に更新が可能であると判断されたとき、JNLP クライアントがアプリケーション更新に行う処理方法の設定を示します。設定には、always、prompt-update、prompt-run を選択できます。

6.0





1.0


security


この要素は拡張権限を要求する際に使用できます。

1.0


all-permissions


すべてのアクセス権を使用できる状態でアプリケーションを実行できるよう要求します。

1.0


j2ee-application-client-permissions


J2EE アプリケーションクライアントのセキュリティー環境の仕様に対応したアクセス権を持たせてアプリケーションを稼働させるように要求します。

1.0





1.0


resources


アプリケーションに必要なすべてのリソースを示します。

1.0

はい


os

この resources 要素に対して適切なオペレーティングシステムを指定します。

1.0



arch

この resources 要素に対して適切なアーキテクチャーを指定します。

1.0



locale

この resources 要素に対して適切なロケールを指定します。



java (または j2se)


アプリケーションと一緒に稼働させる Java のバージョンを指定します。

6.0 (java)



version

使用するバージョンの範囲を順番にまとめたリストを示します。

1.0

はい


href

この Java のバージョンの供給者とダウンロードされるであろう場所を示す URL。

1.0



java-vm-args

Java 起動時にアプリケーションが JNLP クライアントに使用させるであろう標準の仮想マシンの引数と非標準の仮想マシンの引数の追加セットを示します。

1.0



initial-heap-size

Java ヒープの初期サイズを指定します。

1.0



max-heap-size

Java ヒープの最大サイズを指定します。

1.0


jar


アプリケーションのクラスパスに含める JAR ファイルを指定します。

1.0

はい


href

jar ファイルの URL。

1.0

はい


version

要求された jar ファイルのバージョン。バージョンベースのダウンロードプロトコルを使用する必要があります。

1.0



main

この jar ファイルにアプリケーションの main メソッドを含むクラスが含まれているかどうかを示します。

1.0



download

この jar ファイルのダウンロードが定期的または不定期に、あるいは進捗表示のために行われる可能性があることを示す場合に使用できます。

1.0 (6.0.18)



size

jar ファイルのダウンロード可能なサイズをバイトで指定します。

1.0



part

使用すると、リソースを一緒にグループ化して同時にダウンロードできます。

1.0


nativelib


ルートディレクトリにネイティブライブラリを含む JAR ファイルを指定します。

1.0



href

jar ファイルの URL。

1.0

はい


version

要求された jar ファイルのバージョン。バージョンベースのダウンロードプロトコルを使用する必要があります。

1.0



download

この jar ファイルを不定期にダウンロードする可能性があることを示す場合に使用できます。

1.0



size

jar ファイルのダウンロード可能なサイズをバイトで指定します。

1.0



part

使用すると、リソースを一緒にグループ化して同時にダウンロードできます。

1.0


extension


このアプリケーションで使用する追加の component-desc または installer-desc に対するポインタを含みます。

1.0



href

追加の拡張 jnlp ファイルの URL。

1.0

はい


version

追加の拡張 jnlp ファイルのバージョン。

1.0



name

追加の拡張 jnlp ファイルの名前。

1.0


ext-download


extension 要素で使用して、コンポーネント拡張機能の一部を示すことができます。

1.0



ext-part

拡張機能で見つけることができるであろう、その含まれる部分の名前を示します。

1.0

はい


download

この拡張機能を定期的、または不定期にダウンロードする可能性があることを示す場合に使用できます。

1.0



part

拡張機能を中に含めるための、この jnlp ファイルの一部の名前を示します。

1.0


パッケージ


JNLP クライアントに、JAR ファイルに実装されるパッケージを示す場合に使用できます。

1.0



name

指定部分の jar ファイルに含まれるパッケージ名。

1.0

はい


part

指定のパッケージ名を含む jar ファイルを含んでいる部分の名前。

1.0

はい


recursive

指定の部分で見つけることができる、指定の名前で始まるすべてのパッケージ名を指定する場合に使用できます。

1.0


property


System.getProperty と System.getProperties メソッドで使用できるシステムプロパティーを定義します。

1.0



name

システムプロパティーの名前。

1.0

はい


value

設定される値。

1.0

はい




1.0




注:jnlp ファイルには application-desc、applet-desc、component-desc、installer-desc のうちのいずれかを含める必要があります

1.0

はい

application-desc


アプリケーションの jnlp ファイルであることを示します。

1.0



main-class

アプリケーションの public static void main(String[]) メソッドを含むクラス名。

1.0

はい


progress-class

DownloadServiceListener の実装を格納するクラスの名前で、ダウンロードの進捗状況を示すために使用できます。

6.0.18


argument


各 argument には、main メソッドに渡される追加の引数が順番に含まれています。

1.0


applet-desc


アプレットの jnlp ファイルであることを示します。

1.0



main-class

メインとなる Applet クラスの名前です。

1.0

はい


documentbase

URL としての Applet のドキュメントベース。

1.0



name

Applet の名前。

1.0

はい


width

アプレットの幅 (ピクセル)。

1.0

はい


高さ

アプレットの高さ (ピクセル)。

1.0

はい


progress-class

DownloadServiceListener の実装を格納するクラスの名前で、ダウンロードの進捗状況を示すために使用できます。

6.0.18


param


アプレットに渡すことができるパラメータのセット。

1.0



name

このパラメータの名前

1.0

はい


value

このパラメータの値

1.0

はい

component-desc


コンポーネント拡張機能の jnlp ファイルであることを示します。

1.0



progress-class

DownloadServiceListener の実装を格納するクラスの名前で、ダウンロードの進捗状況を示すために使用できます。

6.0.18


installer-desc


インストールされた拡張機能の jnlp ファイルであることを示します。

1.0



main-class

インストーラの public static void main(String[]) メソッドを含むクラス名。

1.0

はい


JNLP ファイルは XML ドキュメントです。次に、JNLP ファイルの完全な記述例を示します。

<?xml version="1.0" encoding="utf-8"?>
<!-- JNLP File for SwingSet2 Demo Application -->
<jnlp
  spec="6.0+"
  codebase="http://my_company.com/jaws/apps"
  href="swingset2.jnlp">
  <information>
    <title>SwingSet2 Demo Application</title>
    <vendor>Sun Microsystems, Inc.</vendor>
    <homepage href="docs/help.html"/>
    <description>SwingSet2 Demo Application</description>
    <description kind="short">A demo of the capabilities 
    of the Swing Graphical User Interface.</description>
    <icon href="images/swingset2.jpg"/>
    <icon kind="splash" href="images/splash.gif"/>
    <offline-allowed/> 
    <association mime-type="application-x/swingset2-file"  extensions="swingset2"/> 
    <shortcut online="false" install="false">
      <desktop/>
      <menu submenu="My Corporation Apps"/>
    </shortcut>
  </information>
  <information os="linux">   
    <title> SwingSet2 Demo on Linux </title>
    <homepage href="docs/linuxhelp.html">
  </information>
  <security>
      <all-permissions/>
  </security>
  <resources>
    <j2se version="1.6+" java-vm-args="-esa -Xnoclassgc"/>
    <jar href="lib/SwingSet2.jar"/>
  </resources>
  <application-desc main-class="SwingSet2"/>
</jnlp> 

この例は、ドキュメントの基本構造を示したものです。ルート要素は jnlp ですが、この要素には、4 つのサブ要素 informationsecurityresourcesapplication-desc があります。さらに、Java Web Start は applet-desc 要素を使用することで、アプレットの起動もサポートします。要素の詳細は次のとおりです。

JNLP の要素

jnlp 要素

spec 属性: この属性が 1.0 以上でないと、このリリースで正しく動作しません。デフォルト値は「1.0+」です。したがって、通常はこの属性を省略してもかまいません。このバージョンは、バージョン 1.0、1.5、および 6.0 の仕様をサポートしていますが、以前のバージョンでは 1.0 と 1.5 しかサポートされていません。spec="6.0+" を指定する jnlp ファイルは、このバージョンで動作しますが、以前のバージョンの Java Web Start では動作しません。

codebase 属性: JNLP ファイルの href 属性に指定された相対 URL はすべて、この URL を基準として処理されます。

href 属性: これは、JNLP ファイル自体の格納場所を示す URL です。

information 要素

os 属性: この属性には、この要素のオペレーティングシステム名のリストが含まれます。os 属性の詳細については、後述の resources 要素の説明を参照してください。

title 要素: アプリケーションの名前。

vendor 要素: アプリケーションベンダーの名前。

homepage 要素: 単一の属性 href を含みます。これは、アプリケーションのホームページを示す URL です。この要素は、Java アプリケーションキャッシュビューアが、アプリケーションの詳細情報を含む Web ページにユーザーをリダイレクトする際に使用されます。

description 要素: アプリケーションに関する短い文。description 要素は省略可能です。kind 属性は、description の用途を定義します。指定可能な値は、次のいずれかです。

個々の種類に対して指定可能な description 要素は、1 つだけです。kind 属性を含まない description 要素は、デフォルト値として使用されます。したがって、Java Web Start が short の種類の description 要素を必要としているが、それが JNLP ファイル内に指定されていなかった場合、属性を含まない description 要素のテキストが使用されます。

description 要素に含まれるテキストは、プレーンテキストでなければなりません。HTML タグなどを含む形式はサポートされていません。

icon 要素: GIF、JPEG、ICO、または PNG 形式のイメージファイルへの HTTP URL を含みます。これらのアイコンは、次の場合にアプリケーションを表現するために使用されます。

ダウンロード中は 64x64 のアイコンが表示され、Java アプリケーションキャッシュビューア内とデスクトップショートカット内では 32x32 のアイコンが使用されます。Java Web Start は、アイコンのサイズ変更を必要に応じて自動的に行います。

省略可能な属性 widthheight を使えば、イメージのサイズを指定できます。

省略可能な kind 属性には、次の値のいずれかを指定できます。

JNLP ファイルには、kind 属性がそれぞれ異なる複数の icon 要素を含めることができます。これにより、アプリケーションのアイコンイメージを複数指定できます。

offline-allowed 要素: 省略可能な offline-allowed 要素は、オフラインでのアプリケーション起動を許可するかどうかを示します。

offline-allowed が指定されている場合、Java アプリケーションキャッシュビューアでアプリケーションをオフラインで起動できます。またアプリケーションをオフラインで起動するショートカットを作成できます。

アプリケーションをオフラインで起動した場合、更新のチェックは行われません。また、API 呼び出し BasicService.isOffline()true を返します。

また、offline-allowed 要素は、Java Web Start がアプリケーションの更新をチェックする方法も制御します。この要素が指定されていない場合 (つまり、アプリケーションをオンラインで実行する必要がある場合)、Java Web Start は常に、更新版があるかどうかをチェックしたあとでアプリケーションを起動します。更新版が見つかった場合は、その新しいアプリケーションをダウンロードおよび起動します。したがって、ユーザーが実行するアプリケーションが常に最新版であることが保証されます。ただし、オフラインの場合、アプリケーションを実行することはできません。

offline-allowed が指定されている場合も、Java Web Start は更新版があるかどうかをチェックします。ただし、アプリケーションがダウンロード済みであった場合、そのチェック処理は数秒でタイムアウトになります。タイムアウトになった場合、キャッシュ済みのアプリケーションが代わりに起動されます。サーバーとの接続がある程度高速であれば、たいていは最新版のアプリケーションが実行されるはずですが、保証はありません。ただし、アプリケーションはオフラインで実行できます。

shortcut 要素: 省略可能な shortcut 要素を使用すると、アプリケーションのデスクトップの統合に対する設定方法を示すことができます。shortcut 要素とそのサブ要素は、JNLP クライアントが使用する可能性のあるヒントを提供します。shortcut 要素には省略可能な online 属性と install 属性、および省略可能な 2 つのサブ要素 desktopmenu が含まれます。

association 要素: 省略可能な association 要素は、特定の拡張子および特定の MIME タイプのプライマリハンドラとしてオペレーティングシステムに登録してほしいという、JNLP クライアントへのヒントです。association 要素には必ず拡張子と MIME タイプ属性が割り当てられます。association 要素を含める場合は、offline-allowed 要素も含めるか、アプリケーションを見つけて実行できるように jnlp 要素の href 属性を設定する必要があります。

related-content 要素: 省略可能な related-content 要素は、README ファイル、ヘルプページ、登録ページへのリンクなどの関連コンテンツの追加要素を、JNLP クライアントへのヒントとして説明します。アプリケーションは、このコンテンツをデスクトップ統合に含めるように要求します。related-content 要素には、href と title の必須属性が割り当てられています。次の 2 つのサブ要素のいずれかを割り当てることもできます。

security 要素

各サンドボックスアプリケーションは、アプレットのサンドボックスに類似した、制限された実行環境で実行されます。security 要素を使うことで、無制限のアクセス権を要求できます。

all-permissions 要素が指定された場合、アプリケーションはクライアントマシンとローカルネットワークに対する完全なアクセス権を持ちます。すべての JAR ファイルに署名する必要があります。ユーザーは、証明書を受け入れてアプリケーションの実行に同意するよう求められます。

update 要素

update 要素は、Java Web Start がアプリケーションの更新をどのように処理するかを指定するのに使われます。

update 要素には、次に示す 2 つの属性をオプションで含めることができます。

check attribute: check 属性は、JNLP クライアントが更新を確認する必要がある時期についての設定を示します。値には、「always」、「timeout」、「background」の 3 つのうち、いずれかを使用できます。

「always」の値は、アプリケーションを起動する前に常に更新確認を行うことを意味します。

「timeout」の値 (デフォルト) は、アプリケーションを起動する前に、タイムアウトになるまで更新確認を行うことを意味します。更新確認が完了せずにタイムアウトした場合、アプリケーションの起動後に、更新確認がそのままバックグラウンドで継続して行われます。

「background」の値は、バックグラウンドでの更新確認の実行中にアプリケーションを起動することを意味します。

policy attribute: policy 属性は、アプリケーションの起動前に更新が可能であると判断されたとき、JNLP クライアントがアプリケーション更新に行う処理方法の設定を示します。値には、「always」、「prompt-update」、「prompt-run」の 3 つのうち、いずれかを使用できます。

「always」の値 (デフォルト) は、ユーザーに通知することなく、常に更新をダウンロードすることを意味します。

「prompt-update」の値を使用すると、ユーザーに更新バージョンをダウンロードして実行するかどうか、またはキャッシュされたバージョンを起動するかどうかを尋ねます。

「prompt-run」の値を使用すると、ユーザーに更新バージョンをダウンロードして実行するかどうか、またはキャンセルしてアプリケーションの実行を中止するかどうかを尋ねます。

たとえば、

<update check="always" policy="prompt-update">

resources 要素

resources 要素は、アプリケーションに含まれる Java クラスファイル、ネイティブライブラリ、システムプロパティーなど、すべてのリソースを指定するために使用します。リソースの定義は、特定のペレーティングシステム (os 属性)、アーキテクチャー (arch 属性)、ロケール (locale 属性) に限定することが可能です。

os 属性には、リソースのオペレーティングシステム名のリストが含まれます。たとえば、それぞれ異なる os 属性を指定した複数の resources 定義を使用して、複数のオペレーティングシステムのネイティブライブラリを指定できます。

os 属性には、スペースで区切られたオペレーティングシステム名のリストが含まれます。実行時に、os の値と os.name システムプロパティーの先頭が比較され、一致するものが検索されます。たとえば、os 属性の値が「Windows」であれば、「Windows Vista」および「Windows 7」の両オペレーティングシステムに一致します。

リストに指定するオペレーティングシステムの名前にスペースが含まれている場合は、スペースがオペレーティングシステム名の一部であることを示すために、バックスラッシュを使用します。次の例は、「Windows Vista」と「Windows 7」に一致します。

    <resources os="Windows\ Vista Windows\ 7">
      <jar href="hello.jar"/>
    </resources>

resources 要素に指定可能なサブ要素は、jarnativelibj2sepropertypackageextension の 6 つです。この開発者ガイドでは、package 要素と extension 要素については説明しません。詳細は、「JSR-00056: Java Network Launching Protocol and API」を参照してください。

jar 要素には、アプリケーションのクラスパスに含める JAR ファイルを指定します。たとえば、

      <jar href="myjar.jar"/>

ClassLoader オブジェクトを使用して、jar ファイルが JVM にロードされます。通常、jar ファイルには、特定のアプリケーションのコードを含む Java クラスが含まれますが、getResource メカニズムで使用できるアイコンや構成ファイルのようなほかのリソースも含まれています。

nativelib 要素は、ネイティブライブラリを含む JAR ファイルを指定します。たとえば、

      <nativelib href="lib/windows/corelib.jar"/>

JNLP クライアントは、System.loadLibrary メソッドを使用して、JAR ファイルのルートディレクトリ (/) にある各ファイルエントリが実行中のプロセスに確実にロードできるようにする必要があります。各エントリには、プラットフォーム固有の共有ライブラリを正しい命名規約を使用して含める必要があります (Windows の *.dll、Solaris や Linux の lib*.so など)。System.loadLibrary への呼び出しを実際に行うのは、アプリケーションの役目です。

通常、ネイティブライブラリは、特定のオペレーティングシステムとアーキテクチャーに対応した resources 要素に含まれます。たとえば、

    <resources os="SunOS" arch="sparc">
      <nativelib href="lib/solaris/corelibs.jar"/>
    </resources>

デフォルトでは、jarnativelib リソースが定期的にダウンロードされます。つまり、これらはアプリケーションが起動される前にダウンロードされ、アプリケーションを実行している JVM でローカルに使用可能になります。jarnativelib 要素では、リソースを lazy と指定することもできます。この設定にすると、アプリケーションの起動前にリソースをクライアントシステムにダウンロードする必要がなくなります。

download 属性は、リソースが定期的にダウンロードされるか、不定期にダウンロードされるか、あるいは進捗のカスタム実装を含んでいるかの制御に使用します。 たとえば、

    <jar href="sound.jar" download="lazy"/>
    <nativelib href="native-sound.jar" download="eager"/>
    <jar href="progress.jar" download="progress"/>

download="progress" が指定されている jar は、定期的にダウンロードされます。また、ほかのリソースのダウンロード中に進捗を示すためにも使用できます。

j2se 要素は、Java 仮想マシンの標準パラメータと、アプリケーションがサポートされる Java Platform Standard Edition Runtime Environment (JRE) のバージョンを指定します。複数の JRE を指定する場合、サポート対象の JRE を優先順にリストに示します。もっとも望ましいバージョンを最初に選択します。たとえば、

       <j2se version="1.3" initial-heap-size="64m" max-heap-size="128m"/>
       <j2se version="1.4.2+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-esa -Xnoclassgc"/>

version 属性は、デフォルトで Java Platform Standard Edition のプラットフォームバージョン (仕様バージョン) を参照します。現時点で定義されているプラットフォームバージョンは、1.2、1.3、1.4、1.5 および 1.6 です。(通常、プラットフォームバージョンには、マイクロバージョン番号 (1.4.2 など) は含まれない。)

正確な製品バージョン (実装バージョン) を、href 属性を使用して指定することもできます。たとえば、1.3.1_07、1.4.2、または 1.5.0-beta2 のようになります。次のように指定します。

<j2se version="1.4.2" href="http://java.sun.com/products/autodl/j2se"/

または

<j2se version="1.4.2_04" href="http://java.sun.com/products/autodl/j2se"/>

プラットフォームバージョンが指定された場合 (つまり、href 属性が指定されなかった場合)、Java Web Start は、インストール済みの非 FCS (マイルストン) の JRE を、要求に一致するものとみなしません。例: フォームの要求

<j2se version="1.4+"/>

この場合、1.4.1-ea や 1.4.2-beta の JRE がインストールされていても、それらは要求に一致する JRE とはみなされません。Sun Microsystems, Inc. が提供する JRE では、1.3.0 以降、非 FCS (マイルストン) のバージョン文字列にはダッシュ (-) を含めることになっています。

j2se 要素の java-vm-args 属性は、Java の起動時に優先的に使用される仮想マシンの一連の引数を指定します。

<j2se version="1.4+" java-vm-args="-ea -Xincgc"/>

このバージョンでは、次の java-vm-args がサポートされます。

 -d32,                                                          /* use a 32-bit data model if available (unix platforms only) */
 -client,                                                       /* to select the client VM */
 -server,                                                       /* to select the server VM */
 -verbose,                                                      /* enable verbose output */
 -version,                                                      /* print product version and exit */
 -showversion,                                                  /* print product version and continue */                                              
 -help,                                                         /* print this help message */
 -X,                                                            /* print help on non-standard options */
 -ea,                                                           /* enable assertions */
 -enableassertions,                                             /* enable assertions */
 -da,                                                           /* disable assertions */
 -disableassertions,                                            /* disable assertions */
 -esa,                                                          /* enable system assertions */
 -enablesystemassertions,                                       /* enable system assertions */
 -dsa,                                                          /* disable system assertione */
 -disablesystemassertions,                                      /* disable system assertione */
 -Xmixed,                                                       /* mixed mode execution (default) */
 -Xint,                                                         /* interpreted mode execution only */
 -Xnoclassgc,                                                   /* disable class garbage collection */
 -Xincgc,                                                       /* enable incremental garbage collection */
 -Xbatch,                                                       /* disable background compilation */
 -Xprof,                                                        /* output cpu profiling data */
 -Xdebug,                                                       /* enable remote debugging */
 -Xfuture,                                                      /* enable strictest checks, anticipating future default */
 -Xrs,                                                          /* reduce use of OS signals by Java/VM (see documentation) */
 -XX:+ForceTimeHighResolution,                                  /* use high resolution timer */
 -XX:-ForceTimeHighResolution,                                  /* use low resolution (default) */

次の引数も加えることができます。

-ea,                          /* enable assertions for classes */
-enableassertions,            /* enable assertions for classes */
-da,                          /* disable assertions for classes */
-disableassertions,           /* disable assertions for classes */
-verbose,                     /* enable verbose output */
-Xms,                         /* set initial Java heap size */
-Xmx,                         /* set maximum Java heap size */
-Xss,                         /* set java thread stack size */
-XX:NewRatio,                 /* set Ratio of new/old gen sizes */
-XX:NewSize,                  /* set initial size of new generation */
-XX:MaxNewSize,               /* set max size of new generation */
-XX:PermSize,                 /* set initial size of permanent gen */
-XX:MaxPermSize,              /* set max size of permanent gen */
-XX:MaxHeapFreeRatio,         /* heap free percentage (default 70) */
-XX:MinHeapFreeRatio,         /* heap free percentage (default 40) */
-XX:UseSerialGC,              /* use serial garbage collection */
-XX:ThreadStackSize,          /* thread stack size (in KB) */
-XX:MaxInlineSize,            /* set max num of bytecodes to inline */
-XX:ReservedCodeCacheSize,    /* Reserved code cache size (bytes) */
-XX:MaxDirectMemorySize,

property 要素はシステムプロパティーを定義します。これらのプロパティーは、System.getProperty、System.setProperties の両メソッドを使って取得できます。この要素では、2 つの属性 name と value を必ず指定する必要があります。たとえば、

<property name="key" value="overwritten"/>

jnlp ファイルに設定されるプロパティーは、通常は VM が起動してからアプリケーションが呼び出されるまでの間に、Java Web Start により設定されます。一部のプロパティーは「安全」とみなされ、Java 呼び出しコマンド行で引数「-Dkey=値」と指定して渡すことができます。

次のプロパティーと、「javaws.」または「jnlp.」で始まるプロパティーは、「安全」とみなされ、この方法で VM に渡されます。

    sun.java2d.noddraw,
    swing.useSystemFontSettings,
    swing.metalTheme,
    http.agent,
    http.keepAlive,
    sun.awt.noerasebackground,
    sun.java2d.opengl,
    sun.java2d.d3d,
    java.awt.syncLWRequests,
    java.awt.Window.locationByPlatform,
    sun.awt.erasebackgroundonresize,
    swing.noxp,
    swing.boldMetal,
    awt.useSystemAAFontSettings,
    sun.java2d.dpiaware,
    sun.awt.disableMixing,
    sun.lang.ClassLoader.allowArraySyntax

信頼されていないアプリケーションの場合、JNLP ファイルに設定されているシステムプロパティーは、これらが安全とみなされる場合にのみ Java Web Start で設定されます。

Java Web Start アプリケーションの動作に影響を与えるプロパティーについては、「Rich Internet Application の動作に影響を与えるプロパティー」を参照してください。

application-desc 要素

application 要素は、JNLP ファイルの起動対象が、アプレットではなくアプリケーションであることを示します。application 要素には main-class 属性を指定できます。省略可能なこの属性を使えば、アプリケーションのメインクラス (最初に実行すべき public static void main(String argv[]) メソッドを含んでいるクラス) の名前を指定できます。

main-class 属性を省略できるのは、JNLP ファイル内に指定された最初の JAR ファイルに main クラスを含むマニフェストファイルが格納されている場合です。

アプリケーションへの引数を指定するには、1 つまたは複数のネストされた argument 要素を含めます。たとえば、

  <application-desc main-class="Main">
    <argument>arg1</argument>
    <argument>arg2</argument>
  </application-desc>

(オプション) progress-class 属性を使用すると、この名前のクラスが javax.jnlp.DownloadServiceListener インタフェースを実装することを示すことができます。このクラスは最初にロードし、ダウンロードされ検証されるほかのリソースの進捗を示すために使用できます。

applet-desc 要素

Java Web Start は、Java アプレットの起動をサポートします。このサポートにより、既存コードの Java Web Start への移行が容易になります。

アプレットを起動するには、application-desc 要素の代わりに applet-desc 要素を使用します。たとえば、

  <applet-desc
      documentBase="http://..."
      name="TimePilot"
      main-class="TimePilot.TimePilotApp"
      width="527"
      height="428">
    <param name="key1" value="value1"/>
    <param name="key2" value="value2"/>
  </applet-desc>

アプレットを構成する JAR ファイルは、アプリケーションの場合と同じく、resources 要素を使って記述します。documentBase を明示的に指定する必要があるのは、JNLP ファイルが HTML ページに埋め込まれないからです。その他の属性はそれぞれ、特定の HTML アプレットタグ要素に対応します。

code 属性の代わりに main-class 属性が使用されます。main-class 属性には Applet クラスの名前 (.class 拡張子は除く) を指定します。メインの JAR ファイル内の Main-Class マニフェストエントリから Applet クラスが検索可能である場合、この属性を省略してもかまいません。

(オプション) progress-class 属性を使用すると、この名前のクラスが javax.jnlp.DownloadServiceListener インタフェースを実装することを示すことができます。このクラスは最初にロードし、ダウンロードされ検証されるほかのリソースの進捗を示すために使用できます。

注:アプレットは、JAR ファイル内にパッケージ化しないと、Java Web Start で正しく動作しません。

component-desc 要素

component-desc 要素は、jnlp ファイルがアプリケーションまたはアプレットではなく、アプリケーションやアプレット、ほかの拡張機能のリソースとして使用できる拡張機能であることを意味します。

通常、コンポーネント拡張機能は、複数のアプリケーション間で共有される、または個別のセキュリティーが必要なリソースセットを取り除くために使用されます。

(オプション) progress-class 属性を使用すると、この名前のクラスが javax.jnlp.DownloadServiceListener インタフェースを実装することを示すことができます。このクラスは最初にロードし、ダウンロードされ検証されるほかのリソースの進捗を示すために使用できます。

installer-desc 要素

installer-desc 要素は、jnlp ファイルがアプリケーションを定義するインストーラの拡張機能であることを意味します。この拡張機能の jnlp ファイルは、アプリケーションやアプレット、ほかの拡張機能で最初に一度使用されると、その後は実行されません。

通常、インストーラの拡張機能は、ネイティブライブラリを VM に単純にロードする以上に複雑な設定を必要とする、プラットフォーム固有のネイティブコードをインストールするために使用されます。


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.