JavaおよびJavaFXアプリケーションのパッケージ化と署名に関連するタスクを実行します。
注意: javapackager
は、Solarisプラットフォームでは使用できません。
次のいずれかのコマンドを指定できます。コマンドの後にオプションを指定します。
CSSファイルをバイナリ形式に変換します。
他のパラメータに従ってJARアーカイブを生成します。
再配布用のアプリケーション・パッケージを構築します。デプロイ・タスクでは、デフォルトでベース・アプリケーション・パッケージが生成されますが、指定すれば自己完結型アプリケーション・パッケージも生成できます。
1つの呼出しで、ほとんどの引数が事前定義されたコンパイル、createjar
およびdeploy
ステップを実行し、すべての該当する自己完結型アプリケーション・パッケージの生成を試行します。ソース・ファイルはsrc
というフォルダに配置する必要があり、生成されるファイル(JAR、JNLP、HTMLおよび自己完結型アプリケーション・パッケージ)はdist
というフォルダに出力されます。このコマンドは、最小限の構成のみが可能で、可能なかぎり自動化されます。
指定された証明書でJARファイルを署名します。
生成された出力ファイルを受け取るディレクトリの名前。
パッケージ化するファイルのベース・ディレクトリ。
-srcdir
オプションで指定されたディレクトリに含まれるファイルのリスト。省略すると、(その場合は必須の引数となる)ディレクトリ内のすべてのファイルが使用されます。リスト内のファイルは、空白で区切る必要があります。
実行するアプリケーション・クラスの修飾名。
JNLPファイルに<fx:argument>
要素として挿入する名前なし引数。
依存するJARファイルの名前のリスト。
追加のマニフェスト属性の名前と値のリスト。構文:
"name1=value1,name2=value2,name3=value3"
パッケージャは、CSSファイルをバイナリ形式に変換せずにJARにコピーします。
生成された出力ファイルを受け取るディレクトリの名前。
生成されるファイルの(拡張子なしの)名前。
デフォルトの名前付きアプリケーション・パラメータが含まれるプロパティ・ファイル。
実行するJavaFXプリローダー・クラスの修飾名。このオプションは、JavaFXアプリケーションにのみ使用します。ヘッドレス・アプリケーションを含むJavaアプリケーションには使用しないでください。
パッケージ化するファイルのベース・ディレクトリ。
-srcdir
オプションで指定されたディレクトリに含まれるファイルのリスト。省略すると、(その場合は必須の引数となる)ディレクトリ内のすべてのファイルが使用されます。リスト内のファイルは、空白で区切る必要があります。
指定した場合、アプリケーションはJNLPファイル内のすべてのセキュリティ権限を必要とするようになります。
実行するアプリケーション・クラスの修飾名。
JNLPファイル内の<fx:argument>
要素に挿入する名前なし引数。
自己完結型アプリケーションのパッケージ化に使用するバンドラへの情報を指定します。各バンドラの引数については、「自己完結型アプリケーション・バンドラの引数」を参照してください。
生成後のHTMLでのユーザー・コールバック方式を指定します。形式は次のとおりです。
"name1:value1,name2:value2,..."
アプリケーションの説明。
指定した場合、JNLPファイルに証明書が埋め込まれます。
指定した場合、HTMLドキュメントにJNLPファイルが埋め込まれます。
アプリケーションの高さ。
生成されるアプリケーションをブラウザ内で実行するときのパラメータが含まれるプロパティ・ファイル。
指定した場合、srcfiles
は拡張ファイルとして処理されます。
アプリケーションの名前。
自己完結型アプリケーション・バンドルを生成します(可能な場合)。-B
オプションを使用して、使用されているバンドラへの引数を指定します。typeを指定した場合、このタイプのバンドルのみが作成されます。タイプを指定しない場合、all
が使用されます。
typeには、次の値が有効です。
all
: 実行されているプラットフォームのインストーラをすべて実行し、そのアプリケーションのディスク・イメージを作成します。typeが指定されていない場合、この値が使用されます。
installer
: 実行されているプラットフォームのインストーラをすべて実行します。
image
: アプリケーションのディスク・イメージを作成します。OS Xでは、イメージは.app
ファイルです。Linuxでは、イメージはインストールされるディレクトリです。
dmg
: OS X用のDMGファイルを生成します。
pkg
: OS X用の.pkg
パッケージを生成します。
mac.appStore
: Mac App Store用のパッケージを生成します。
rpm
: Linux用のRPMパッケージを生成します。
deb
: Linux用のDebianパッケージを生成します。
存在する場合でも、自己包含型アプリケーションのために生成されるバンドルは、バンドラによって署名されません。署名をサポートするバンドラのためのデフォルトは、署名キーが正しく構成された場合にバンドルに署名することです。この属性は、署名をサポートしないバンドラでは無視されます。JDKの8u40リリースの時点では、OS X bundlerのみが署名をサポートしています。
生成された出力ファイルを受け取るディレクトリの名前。
生成されるファイルの(拡張子なしの)名前。
デフォルトの名前付きアプリケーション・パラメータが含まれるプロパティ・ファイル。
実行するJavaFXプリローダー・クラスの修飾名。このオプションは、JavaFXアプリケーションにのみ使用します。ヘッドレス・アプリケーションを含むJavaアプリケーションには使用しないでください。
パッケージ化するファイルのベース・ディレクトリ。
-srcdir
オプションで指定されたディレクトリに含まれるファイルのリスト。省略すると、(その場合は必須の引数となる)ディレクトリ内のすべてのファイルが使用されます。リスト内のファイルは、空白で区切る必要があります。
テンプレート処理を行うアプリケーションのアプリケーションID。
HTMLテンプレート・ファイルの名前。プレースホルダの形式は次のとおりです。
#XXXX.YYYY(APPID)#
ここで、APPIDはアプリケーションの識別子、XXXは次のいずれかです。
DT.SCRIPT.URL
配備ツールキット内のdtjava.jsの場所。デフォルトの場所は次のとおりです
http://java.com/js/dtjava.js
DT.SCRIPT.CODE
配備ツールキットのdtjava.jsを組み込むスクリプト要素。
DT.EMBED.CODE.DYNAMIC
アプリケーションを特定のプレースホルダに埋め込むコード。コードをfunction()
メソッド内にラップすることが期待されます。
DT.EMBED.CODE.ONLOAD
onload
フックを使用してアプリケーションをWebページに埋め込むために必要なすべてのコード(dtjava.jsの組込みを除く)。
DT.LAUNCH.CODE
アプリケーションを起動するために必要なコード。コードをfunction()
メソッド内にラップすることが期待されます。
テンプレートから生成されるHTMLファイルの名前。
アプリケーションのタイトル。
アプリケーションのベンダー。
アプリケーションの幅。
JNLPファイルの更新モードを設定します。
実行するアプリケーション・クラスの修飾名。
依存するJARファイルの名前のリスト。
アプリケーションの高さ。
アプリケーションの名前。
実行するJavaFXプリローダー・クラスの修飾名。このオプションは、JavaFXアプリケーションにのみ使用します。ヘッドレス・アプリケーションを含むJavaアプリケーションには使用しないでください。
アプリケーションの幅。
キーの別名。
キーを復元するためのパスワード。
キーストア・ファイルの名前。
生成された出力ファイルを受け取るディレクトリの名前。
署名されるファイルのベース・ディレクトリ。
-srcdir
オプションで指定されたディレクトリに含まれるファイルのリスト。省略すると、(その場合は必須の引数となる)ディレクトリ内のすべてのファイルが使用されます。リスト内のファイルは、空白で区切る必要があります。
キーストアの整合性を確認したり、ロックを解除したりするためのパスワード
キーストアのタイプ。デフォルト値は"jks"です。
自己完結型アプリケーションの作成に使用されるバンドラの引数を指定するには、-deploy
コマンドの-B
オプションを使用します。各バンドラ・タイプに、独自の引数セットがあります。
アプリケーション・パッケージのバージョン。一部のバンドラでは、バージョン文字列の形式が制限されます。
アセンブルされたアプリケーション・ディレクトリへの相対的なクラス・パス。一般的に、パスはJARファイル・マニフェストから抽出され、他のjavapackager
コマンドを使用している場合は設定する必要はありません。
起動ツールおよびその他の支援ツールに使用されるデフォルト・アイコンの場所。OS Xの場合、形式は.icns
である必要があります。Linuxの場合、形式は.png
である必要があります。
mac.CFBundleIdentifier
など、他のプラットフォーム固有の値に使用されるデフォルト値。DNS順序の反転をお薦めします(例: com.example.application.my-application
)。
アプリケーションの実行時にJVMに渡されるオプション。java
コマンドに有効なオプションを使用できます。複数のオプションを渡すには、次の例に示すように-B
オプションの複数インスタンスを使用します。
-BjvmOptions=-Xmx128m -BjvmOptions=-Xms128m
アプリケーションの実行時にVMに渡されるJavaシステム・プロパティ。java
コマンドの-D
オプションに有効なプロパティを使用できます。プロパティ名とそのプロパティの値の両方を指定します。複数のプロパティを渡すには、次の例に示すように-B
オプションの複数インスタンスを使用します。
-BjvmProperties=apiUserName=example -BjvmProperties=apiKey=abcdef1234567890
アプリケーションのメイン・クラスを含むJARファイルの名前。一般的に、ファイル名はJARファイル・マニフェストから抽出され、他のjavapackager
コマンドを使用している場合は設定する必要はありません。
ユーザーがオーバーライドできるJVMオプションを確認するために調べるプリファレンス・ノード。指定したノードは、オプション-Dapp.preferences.id
として実行時にアプリケーションに渡されます。この引数は、userJVMOptions
引数とともに使用されます。
パッケージ・バンドルに含めるJREまたはJDKの場所。JDKまたはJREのルート・フォルダへのファイル・パスを指定します。システム・デフォルトJREを使用するには、次の例に示すようにパスを指定しないでください。
-Bruntime=
ユーザーがオーバーライドできるJVMオプション。java
コマンドに有効なオプションを使用できます。オプション名とそのオプションの値の両方を指定します。複数のオプションを渡すには、次の例に示すように-B
オプションの複数インスタンスを使用します。
-BuserJvmOptions=-Xmx=128m -BuserJvmOptions=-Xms=128m
アプリケーションのカテゴリ。カテゴリは、Apple Developer Webサイトにあるカテゴリ・リスト内に含まれている必要があります。
CFBundleIdentifier
の情報plistに格納されている値。この値は、グローバルに一意である必要があり、文字、数字、ドットおよびダッシュのみを含む必要があります。DNS順序の反転をお薦めします(例: com.example.application.my-application
)。
OS Xメニュー・バーに表示されるアプリケーションの名前。16文字未満の名前をお薦めします。デフォルトは名前属性です。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。値は、appVersion
引数の値と異なる可能性があります。appVersion
引数が有効な値で指定され、mac.CFBundleVersion
引数が指定されていない場合、appVersion
値が使用されます。どちらの引数も指定されていない場合、100
がバージョン番号として使用されます。
開発者IDまたはGatekeeper署名に使用する署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
plistまたは既存の署名がないバイナリがバンドル内に見つかった場合に署名済バイナリに適用される接頭辞。
ディスク・イメージがマウント可能になる前に、OS X DMGインストーラは、licenseFile
によって指定されているライセンス・ファイル(指定されている場合)を表示します。
バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスは、パッケージ・アプリケーション・リソースに相対的です(例: -BlicenseFile=COPYING
)。
使用対象のドラッグしてインストールするターゲットを示すフラグ。アプリケーション・フォルダを表示するには、true
に設定します。デスクトップ・フォルダを表示するには、false
に設定します。デフォルトはtrue
です。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。値は、appVersion
引数の値と異なる可能性があります。appVersion
引数が有効な値で指定され、mac.CFBundleVersion
引数が指定されていない場合、appVersion
値が使用されます。どちらの引数も指定されていない場合、100
がバージョン番号として使用されます。
AppleScriptコードの実行に依存するDMGカスタマイズ手順をスキップするかどうかを示すフラグ。true
に設定して、手順をスキップします。true
に設定されている場合、ディスク・ウィンドウにバックグラウンド・イメージがないため、アイコンが所定の位置に移動しません。systemWide
引数もtrue
に設定されている場合、ルート・アプリケーション・フォルダのシンボリック・リンクがDMGファイルに追加されます。systemWide
引数がfalse
に設定されている場合、アプリケーションのみがDMGファイルに追加され、デスクトップのリンクは追加されません。
OS X PKGインストーラは、ウィザードを示し、licenseFile
によって指定されているライセンス・ファイルをウィザード内のページに表示します。ユーザーはアプリケーションをインストールする前に条件に同意する必要があります。
バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスは、パッケージ・アプリケーション・リソースに相対的です(例: -BlicenseFile=COPYING
)。
開発者IDまたはGatekeeper署名に使用する署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。値は、appVersion
引数の値と異なる可能性があります。appVersion
引数が有効な値で指定され、mac.CFBundleVersion
引数が指定されていない場合、appVersion
値が使用されます。どちらの引数も指定されていない場合、100
がバージョン番号として使用されます。
アプリケーションが動作する資格を含むファイルの場所。ファイルは、Appleによって指定されている形式である必要があります。ファイルへのパスは、絶対条件で指定することも、javapackager
の呼出しに対して相対的に指定することもできます。資格を指定しない場合、アプリケーションは、通常のアプレット・サンドボックスよりもより厳しいサンドボックスで動作し、ネットワーク・ソケットおよびすべてのファイルへのアクセスが拒否されます。
Mac App Storeのアプリケーション署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
Mac App Storeのインストーラ署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。値は、appVersion
引数の値と異なる可能性があります。appVersion
引数が有効な値で指定され、mac.CFBundleVersion
引数が指定されていない場合、appVersion
値が使用されます。どちらの引数も指定されていない場合、100
がバージョン番号として使用されます。このバージョンが既存のアプリケーションのアップグレードである場合、値は以前のバージョン番号より大きくする必要があります。
licenseFile
によって指定されているライセンス・ファイルは、すべてのケースにおいてユーザーに示されませんが、ファイルはアプリケーション・メタデータに含まれています。
アプリケーションのカテゴリ。例は、http://standards.freedesktop.org/menu-spec/latest/apa.html
を参照してください。
アプリケーションのコピーライト文字列。この引数は、Debianメタデータで使用されます。
DebianのMaintainerフィールドで使用される電子メール・アドレスです。
バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスは、パッケージ・アプリケーション・リソースに相対的です(例: -BlicenseFile=COPYING
)。
-BlicenseType=Proprietary
または"-BlicenseType=GPL v2 + Classpath Exception"
などのライセンス・タイプの短縮名。
アプリケーションを提供する会社、組織または個人。この引数は、DebianのMaintainerフィールドで使用されます。
アプリケーションのカテゴリ。例は、http://standards.freedesktop.org/menu-spec/latest/apa.html
を参照してください。
バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスは、パッケージ・アプリケーション・リソースに相対的です(例: -BlicenseFile=COPYING
)。
-BlicenseType=Proprietary
または"-BlicenseType=GPL v2 + Classpath Exception"
などのライセンス・タイプの短縮名。
アプリケーションを提供する会社、組織または個人。
次のオプションは、パッケージ化ツールで使用されておらず、存在していても無視されます。
JavaFXランタイムの必須バージョン。非推奨。
指定した場合、パッケージャはJavaFX起動クラスをJARファイルに追加しません。非推奨。
-v
オプションは、任意のタスク・コマンドで詳細出力を有効にするために使用できます。
コマンドに-srcdir
オプションを指定できる場合は、このオプションを複数回使用できます。-srcfiles
オプションを指定した場合は、その引数に指定したファイルが、先行するsrcdir
オプションに指定した場所で検索されます。-srcdir
が-srcfiles
の前に指定されていない場合は、javapackager
コマンドが実行されるディレクトリが使用されます。
javapackager -createjar -appclass package.ClassName -srcdir classes -outdir out -outfile outjar -v
classes
ディレクトリの内容をoutjar.jar
にパッケージ化し、アプリケーション・クラスをpackage.ClassName
に設定します。
javapackager -deploy -outdir outdir -outfile outfile -width 34 -height 43 -name AppName -appclass package.ClassName -v -srcdir compiled
package.ClassName
によって起動され、34 x 43ピクセルの寸法を持つアプリケーションAppName
のために、outfile.jnlp
ファイルおよび対応するoutfile.html
ファイルをoutdir
に生成します。
javapackager -makeall -appclass brickbreaker.Main -name BrickBreaker -width 600 -height 600
コンパイル、createjar
およびdeploy
を含むすべてのパッケージ化作業を実行します。
javapackager -signJar --outdir dist -keyStore sampleKeystore.jks -storePass **** -alias duke -keypass **** -srcdir dist
dist
ディレクトリ内のすべてのJARファイルに署名し、指定された別名、keyStore
およびstorePass
を使って証明書を添付し、署名されたJARファイルをdist
ディレクトリに再び配置します。
javapackager -deploy -native deb -Bcategory=Education -BjvmOptions=-Xmx128m -BjvmOptions=-Xms128m -outdir packages -outfile BrickBreaker -srcdir dist -srcfiles BrickBreaker.jar -appclass brickbreaker.Main -name BrickBreaker -title "BrickBreaker demo"
自己完結型アプリケーションとしてBrickBreakerアプリケーションを実行するためのネイティブLinux Debianパッケージを生成します。