アプリケーションをパッケージ化するために推奨されている方法は、JavaFX AntタスクおよびJavaパッケージャ・ツールです。
この章のトピックは、次のとおりです:
次の2つのAntタスク・リファレンスの項も参照してください。
これらのタスクを使用するには、ant-javafx.jar
ファイルが必要です。これは次の場所にあります。
JDK 7 Update 6以降では、jdk_home/lib
にあります。
スタンドアロンJavaFXインストールでは、javafx-sdk-home/lib
にあります。
Ant要素には、JavaFX AntタスクおよびAntヘルパー・パラメータの2つのカテゴリがあります。
JavaFX Antタスク
JavaFX Antタスクは次のタスクを実行します。
ダブルクリック可能なJARファイルの作成
Web StartアプリケーションまたはWebページに埋め込まれたアプリケーションのHTMLページおよびデプロイメント記述子の作成
アプリケーションへのデジタル署名(必要な場合)
CSSファイルのバイナリ形式への変換
自己完結型アプリケーション・パッケージの構築
要素は、JavaFX Antタスク・リファレンスで説明されています。
Antヘルパー・パラメータ
Antヘルパー・パラメータはJavaFX Antタスクで使用されます。ヘルパー・パラメータは、JavaFX Antヘルパー・パラメータ・リファレンスで説明されています。
AntスクリプトでJavaFX Antタスクを使用するには、その定義をロードする必要があります。例3-1のbuild.xml
ファイルに例を示しています。
例3-1に関する注意は次のとおりです:
一部のJavaFXタスクの短縮名が一部のシステム・タスクで使用される短縮名と同じであるため、例3-1に太字で示したfx: namespaceを宣言していることを確認します。
ドロップイン・リソースを使用してカスタマイズを簡略化するために、現在のディレクトリ(".")がクラスパスに追加されます。ドロップイン・リソースを使用したパッケージのカスタマイズを参照してください。
JavaFX Antタスク定義がロードされた後は、javafx.ant.version
プロパティを、AntタスクAPIのバージョンの確認に使用できます。バージョン番号については次のリストを使用します。
バージョン1.0: JavaFX 2.0 SDKに付属
バージョン1.1: JavaFX 2.1 SDKに付属
バージョン1.2: JavaFX 2.2 SDKおよびJDK 7 Update 6に付属
例3-1 JavaFX Antタスク定義のロード
<project name="JavaFXSample" default="default" basedir="."
xmlns:fx="javafx:com.sun.javafx.tools.ant">
<target name="default">
<taskdef resource="com/sun/javafx/tools/ant/antlib.xml"
uri="javafx:com.sun.javafx.tools.ant"
classpath=".:${JAVA_HOME}/lib/ant-javafx.jar"/>
</target>
</project>
この項の内容は次のとおりです。
Antスクリプトを使用したJARファイルとしてJavaFX Hello Worldの例をデプロイするには、次の手順に従います。
例3-2 HelloWorld.java
import javafx.application.Application; import javafx.event.ActionEvent; import javafx.event.EventHandler; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class HelloWorld extends Application { @Override public void start(Stage primaryStage) { Button btn = new Button(); btn.setText("Say 'Hello World'"); btn.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent event) { System.out.println("Hello World!"); } }); StackPane root = new StackPane(); root.getChildren().add(btn); Scene scene = new Scene(root, 300, 250); primaryStage.setTitle("Hello World!"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
例3-3 JavaFX Hello Worldの例をデプロイするAntスクリプト
<?xml version="1.0" encoding="UTF-8" ?> <project name="JavaFX Hello World Example" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant"> <property name="JAVA_HOME" value="C:\\Java\\jdk-9"/> <property name="build.src.dir" value="src"/> <property name="build.classes.dir" value="classes"/> <property name="build.dist.dir" value="dist"/> <target name="default" depends="clean,compile"> <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpath="${JAVA_HOME}/lib/ant-javafx.jar"/> <fx:application id="HelloWorldID" name="JavaFXHelloWorldApp" mainClass="HelloWorld"/> <fx:resources id="appRes"> <fx:fileset dir="${build.dist.dir}" includes="HelloWorld.jar"/> </fx:resources> <fx:jar destfile="${build.dist.dir}/HelloWorld.jar"> <fx:application refid="HelloWorldID"/> <fx:resources refid="appRes"/> <fileset dir="${build.classes.dir}"/> </fx:jar> <fx:deploy width="300" height="250" outdir="." embedJNLP="true" outfile="helloworld"> <fx:application refId="HelloWorldID"/> <fx:resources refid="appRes"/> <fx:info title="JavaFX Hello World Application" vendor="Oracle Corporation"/> </fx:deploy> </target> <target name="clean"> <mkdir dir="${build.classes.dir}"/> <mkdir dir="${build.dist.dir}"/> <delete> <fileset dir="${build.classes.dir}" includes="**/*"/> <fileset dir="${build.dist.dir}" includes="**/*"/> </delete> </target> <target name="compile" depends="clean"> <javac includeantruntime="false" srcdir="${build.src.dir}" destdir="${build.classes.dir}" fork="yes" executable="${JAVA_HOME}/bin/javac" source="9" debug="on"> </javac> </target> </project>
自己完結型アプリケーションとしてJavaFX Hello Worldの例をデプロイするには、属性nativeBundles="all"
を、build.xml
スクリプトの要素<fx:deploy>
に追加します。
<fx:deploy width="300" height="250"
outdir="." embedJNLP="true"
outfile="helloworld"
nativeBundles="all">
前の項で説明されているように、JavaFX Hello Worldの例をコンパイル、ビルドおよびデプロイします。Antスクリプトでは、適用可能なすべての自己完結型アプリケーション・パッケージを作成し、ディレクトリC:\example\bundles\JavaFXHelloWorldApp
に格納します。(名前JavaFXHelloWorldApp
は、<fx:application>
要素のname
属性の値です。)たとえば、WindowsでJavaFX Hello Worldの例をデプロイする場合、Antスクリプトは、ファイル・ブラウザでダブルクリックすることで実行できる、C:\example\bundles\JavaFXHelloWorldApp\JavaFXHelloWorldApp.exe
という名前のアプリケーションを作成します。
Antスクリプトが自己完結型アプリケーションを作成する方法をカスタマイズできます。自己完結型アプリケーションのパッケージ化を参照してください。
JavaFX Ensemble8サンプル・アプリケーションには、Apache Luceneが必要です。例3-4は、自己完結型アプリケーションとしてEnsemble8をデプロイし、それにApache Lucene JARファイルを含める方法を示しています。
Antスクリプトの次の行によって、src
ディレクトリに含まれるリソースが、コンパイルされたJavaクラス・ファイルを含むディレクトリにコピーされます。リソースは、Antスクリプトがサンプル・アプリケーションをコンパイルした後でコピーされます。
<copy todir="${build.classes.dir}"> <fileset dir="src/app/resources"/> <fileset dir="src/generated/resources"/> <fileset dir="src/samples/resources"/> </copy>
Antスクリプトの次の行には、Apache Lucerne JARファイル(lib
ディレクトリに格納)が含まれています。
<fx:resources id="appRes"> <fx:fileset dir="${build.dist.dir}" includes="ensemble8.jar"/> <fx:fileset dir="lib"/> <fx:fileset dir="${build.classes.dir}"/> </fx:resources> <fx:jar destfile="${build.dist.dir}/ensemble8.jar"> <fx:application refid="ensemble8"/> <fx:resources refid="appRes"/> </fx:jar>
例3-4 Ensemble8サンプル・アプリケーションをデプロイするAntスクリプト
<?xml version="1.0" encoding="UTF-8" ?> <project name="Ensemble8 JavaFX Demo Application" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant"> <property name="JAVA_HOME" value="C:\\Java\\jdk-9"/> <path id="CLASSPATH"> <pathelement location="lib/lucene-core-3.2.0.jar"/> <pathelement location="lib/lucene-grouping-3.2.0.jar"/> <pathelement path="classes"/> </path> <property name="build.src.dir" value="src"/> <property name="build.classes.dir" value="classes"/> <property name="build.dist.dir" value="dist"/> <target name="default" depends="clean,compile"> <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpath="${JAVA_HOME}/lib/ant-javafx.jar"/> <fx:application id="ensemble8" name="Ensemble8" mainClass="ensemble.EnsembleApp"/> <fx:resources id="appRes"> <fx:fileset dir="${build.dist.dir}" includes="ensemble8.jar"/> <fx:fileset dir="lib"/> <fx:fileset dir="${build.classes.dir}"/> </fx:resources> <fx:jar destfile="${build.dist.dir}/ensemble8.jar"> <fx:application refid="ensemble8"/> <fx:resources refid="appRes"/> </fx:jar> <fx:deploy outdir="." embedJNLP="true" outfile="ensemble8" nativeBundles="all"> <fx:application refId="ensemble8"/> <fx:resources refid="appRes"/> <fx:info title="Ensemble8 JavaFX Demo Application" vendor="Oracle Corporation"/> </fx:deploy> </target> <target name="clean"> <mkdir dir="${build.classes.dir}"/> <mkdir dir="${build.dist.dir}"/> <delete> <fileset dir="${build.classes.dir}" includes="**/*"/> <fileset dir="${build.dist.dir}" includes="**/*"/> </delete> </target> <target name="compile" depends="clean"> <javac includeantruntime="false" srcdir="${build.src.dir}" destdir="${build.classes.dir}" fork="yes" executable="${JAVA_HOME}/bin/javac" source="9" debug="on" classpathref="CLASSPATH"> </javac> <!-- Copy resources to build.classes.dir --> <copy todir="${build.classes.dir}"> <fileset dir="src/app/resources"/> <fileset dir="src/generated/resources"/> <fileset dir="src/samples/resources"/> </copy> </target> </project>
自己完結型アプリケーションのJVMオプションをオーバーライドするには、設定ノードでそれを指定してから、app.preferences.id
システム・プロパティでこのノードの名前を設定します。次の例では、<fx:jvmuserarg>
要素で指定された-Xms
および-Xmx JVMオプションをオーバーライドします。これらのオプションがオーバーライドされたことを確認するために、アプリケーションは、(-Xms
および-Xmx
オプションの値に基づいて)メモリー割当てプールの初期サイズおよび最大サイズを表示します。
例3-5 MemoryExamplePreferences.java
import java.util.prefs.Preferences; public class MemoryTestPreferences { private Preferences prefs; public void setPreferences() { // This will define a node in which the preferences can be stored prefs = Preferences.userRoot().node(System.getProperty("app.preferences.id")).node("JVMUserOptions"); // now set the values prefs.put("-Xmx", "2048m"); prefs.put("-Xms", "2048m"); } public static void main(String[] args) { MemoryTestPreferences myPrefs = new MemoryTestPreferences(); myPrefs.setPreferences(); } }
例3-6 MemoryExample.java
import javafx.application.Application; import javafx.collections.FXCollections; import javafx.geometry.HPos; import javafx.geometry.Insets; import javafx.geometry.Pos; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.ListView; import javafx.scene.control.TextField; import javafx.scene.layout.ColumnConstraints; import javafx.scene.layout.GridPane; import javafx.scene.layout.Priority; import javafx.scene.layout.Region; import javafx.stage.Stage; import java.lang.management.ManagementFactory; import java.util.prefs.BackingStoreException; import java.util.prefs.Preferences; public class MemoryTest extends Application { @Override public void start(Stage primaryStage) { String startMemory = Long.toString(Runtime.getRuntime().totalMemory()); String maxMemory = Long.toString(Runtime.getRuntime().maxMemory()); System.out.println("Start memory: " + startMemory); System.out.println("Max memory: " + maxMemory); final Label startMemoryLabel = new Label("Start memory: "); TextField startMemoryTextField = new TextField(startMemory); startMemoryTextField.setPromptText(startMemory); Label maxMemoryLabel = new Label("Max memory: "); final TextField maxMemoryTextField = new TextField(maxMemory); maxMemoryTextField.setPromptText(maxMemory); Label jvmArgumentsLabel = new Label("JVM Arguments"); ListView<String> jvmArguments = new ListView<>(FXCollections.observableArrayList(ManagementFactory.getRuntimeMXBean().getInputArguments())); jvmArguments.setPrefSize(450, 150); Button btn = new Button(); btn.setText("Update Preferences"); btn.setOnAction(event -> { Preferences prefs = Preferences.userRoot().node(System.getProperty("app.preferences.id")).node("JVMUserOptions"); String start = startMemoryTextField.getText(); if (start == null || start.isEmpty()) { prefs.remove("-Xms"); } else { prefs.put("-Xms", start); } String max = maxMemoryTextField.getText(); if (max == null || max.isEmpty()) { prefs.remove("-Xmx"); } else { prefs.put("-Xmx", max); } try { prefs.flush(); } catch (BackingStoreException e) { e.printStackTrace(); } }); GridPane grid = new GridPane(); grid.setAlignment(Pos.CENTER); grid.setHgap(10); grid.setVgap(10); grid.setPadding(new Insets(25, 25, 25, 25)); grid.getColumnConstraints().setAll( new ColumnConstraints(Region.USE_PREF_SIZE, Region.USE_COMPUTED_SIZE, Region.USE_PREF_SIZE, Priority.NEVER, HPos.RIGHT, false), new ColumnConstraints(Region.USE_PREF_SIZE, Region.USE_COMPUTED_SIZE, Integer.MAX_VALUE, Priority.ALWAYS, HPos.LEFT, true) ); grid.addRow(0, startMemoryLabel, startMemoryTextField); grid.addRow(1, maxMemoryLabel, maxMemoryTextField); grid.addRow(2, jvmArgumentsLabel, jvmArguments); grid.add(btn, 1, 3); grid.setMinSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE); Scene scene = new Scene(grid); primaryStage.setTitle("Memory test"); primaryStage.sizeToScene(); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
例3-7 メモリー・テスト用のAntスクリプトの例
<?xml version="1.0" encoding="UTF-8" ?> <project name="JavaFX Hello World Example" default="default" basedir="." xmlns:fx="javafx:com.sun.javafx.tools.ant"> <property environment="env"/> <property name="env.JAVA_HOME" value="C:\\Java\\jdk-9"/> <property name="build.src.dir" value="src"/> <property name="build.classes.dir" value="classes"/> <property name="build.dist.dir" value="dist"/> <target name="default" depends="clean,compile"> <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant" classpath="${env.JAVA_HOME}/lib/ant-javafx.jar"/> <fx:application id="MemoryTestAppID" name="JavaFXMemoryTestApp" mainClass="MemoryTest"/> <fx:resources id="appRes"> <fx:fileset dir="${build.dist.dir}" includes="MemoryTest.jar"/> </fx:resources> <fx:jar destfile="${build.dist.dir}/MemoryTest.jar"> <fx:application refid="MemoryTestAppID"/> <fx:resources refid="appRes"/> <fileset dir="${build.classes.dir}"/> </fx:jar> <fx:deploy width="300" height="250" outdir="." embedJNLP="true" outfile="memorytest" nativeBundles="image"> <fx:platform> <fx:jvmuserarg name="-Xms" value="31m"/> <fx:jvmuserarg name="-Xmx" value="64m"/> </fx:platform> <fx:application refId="MemoryTestAppID"/> <fx:resources refid="appRes"/> <fx:info title="JavaFX Hello World Application" vendor="Oracle Corporation"/> </fx:deploy> </target> <target name="clean"> <mkdir dir="${build.classes.dir}"/> <mkdir dir="${build.dist.dir}"/> <delete> <fileset dir="${build.classes.dir}" includes="**/*"/> <fileset dir="${build.dist.dir}" includes="**/*"/> </delete> </target> <target name="compile" depends="clean"> <javac includeantruntime="false" srcdir="${build.src.dir}" destdir="${build.classes.dir}" fork="yes" executable="${env.JAVA_HOME}/bin/javac" source="9" debug="on"> </javac> <!-- Set preferences --> <java fork="true" jvm="${env.JAVA_HOME}\bin\java" classname="MemoryTestPreferences" classpath="${build.classes.dir}"> <sysproperty key="app.preferences.id" value="MemoryTestAppID"/> </java> </target> <target name="jar" depends="compile"> <jar destfile="dist/MemoryTest.jar" basedir="classes"/> </target> </project>
UserJvmOptionsService
APIは、自己完結型アプリケーションにJVMオプションを設定するための代替方法を提供します。このAPIをアプリケーションから呼び出して、現在の設定を取得し、次回のアプリケーション起動時に設定を更新できます。
次のアイテムは、主なJavaFX Antタスクを構成します。
高速に処理するためにCSSファイルをバイナリ形式に変換します。
再配布用のアプリケーション・パッケージを構築します。デフォルトでは、デプロイ・タスクでベース・アプリケーション・パッケージが生成されますが、要求された場合は自己完結型アプリケーション・パッケージも生成できます。
1つ以上のアプリケーションJARファイルを作成します。
アプリケーションにデジタル署名を提供します。
注意:
Javaパッケージャ・ツールの<fx:signjar>
タスクは、将来のリリースでの削除に備えてJDK 9で非推奨です。また、これは、マルチリリースJARファイルでも動作しません。かわりに標準的なAnt signjar
タスクを使用してください。 アイテムはアルファベット順です。
説明
CSSファイルのセットをバイナリ形式(BSS)に変換します。
親要素
なし。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
出力ファイルが生成されるディレクトリの名前。 |
String |
はい |
ネストした要素として受け入れるパラメータ
説明
Webデプロイメントおよびスタンドアロンのアプリケーションの両方のパッケージを生成します。パッケージには、一連のJARファイル、1つのJNLPファイルおよび1つのHTMLファイルが含まれています。
親要素
なし。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
存在する場合、この値は、幅/高さではなく、Javascript/HMTLコードに使用されます。埋込みデプロイメント・モードにのみ影響します。 埋込みアプリケーションの相対ディメンションを指定する場合に使用します。 |
String |
いいえ |
|
|
String |
いいえ |
|
trueの場合、JNLP記述子をWebページに埋め込みます。起動時に作成されるネットワーク接続数を削減し、起動時間の改善に役立てます。 |
Boolean |
いいえ デフォルトは |
|
|
Boolean |
いいえ デフォルトは |
|
アプリケーションをWebページに埋め込むための、アプリケーション・シーンの高さ。 |
String |
はい |
|
|
Boolean |
いいえ デフォルトは |
|
値:
値 |
String |
いいえ デフォルトは |
|
値が |
Boolean |
デフォルトは |
|
出力ファイルが生成されるディレクトリの名前。 |
String |
はい |
|
出力ファイルの接頭辞(拡張子なし)。 |
String |
はい |
|
アプリケーションが埋め込まれるWebページのプレースホルダ。これはJavaScript DOMオブジェクトである必要があります。 |
String |
はい プレースホルダの参照またはIDのいずれかが必要です。 |
|
コールバックで使用されます。アプリケーションが埋め込まれるWebページのプレースホルダのID。これを解決するには、JavaScript関数 |
String |
はい プレースホルダの参照またはIDのいずれかが必要です。 |
|
バンドラが生成されたバンドルに署名するよう要求するために、自己完結型アプリケーションで使用します。この属性は、署名をサポートしないバンドラでは無視されます。JDKの8u40リリース時には、macOSバンドラのみ署名をサポートしています。 |
Boolean |
デフォルト値は、使用しているバンドラによって異なります。 |
|
埋込みおよびWeb Startアプリケーションでアプリケーション更新の確認が実行される時期についての設定を示します。
|
String |
いいえ デフォルトは |
|
アプリケーションをWebページに埋め込むための、アプリケーション・シーンの幅。 |
String |
はい |
ネストした要素として受け入れるパラメータ
<fx:deploy>タスクの使用例
これは、<fx:deploy>
Antタスクの単純な例です。HTMLファイルおよびJNLPファイルをweb-distディレクトリに生成し、生成されたファイルの接頭辞としてFish
を使用します。
<fx:deploy width="600" height="400" outdir="web-dist" outfile="Fish" offlineAllowed="false"> <fx:info title="Sample application"/> <fx:application refid="myapp"/> <fx:resources refid="myresources"/> </fx:deploy>
次のAntタスクは、プリローダーを使用した単純なアプリケーションの配布可能なパッケージを作成します。アプリケーションおよびそのリソースの詳細は、タスクの<fx:application>
および<resource>
要素で定義されます。
出力パッケージの場所は、<fx:deploy>
タスクのoutdir
属性によって定義されます。新しいファイルは、outfile
属性で指定されたname
接頭辞を使用して生成されます。このタスクの実行の結果として、次のファイルがweb-distフォルダに作成されます。
preloader.jar
helloworld.jar
App.jnlp
App.html
注意:
デフォルトでは、デプロイメント・パッケージは、java.comから補助ファイルを使用して、Webデプロイメントをサポートします。これにより、アプリケーションがWebでデプロイする最適な方法を常に使用できるようになるため、これは優先的な方法です。ただし、閉じているネットワークでアプリケーションをテストする場合、これらのファイルをアプリケーション・パッケージに含めることができます。これを行うには、includeDT="true"
を、<fx:deploy>
Antタスクの属性として渡します。
<fx:deploy width="600" height="400" outdir="web-dist" outfile="App"> <fx:info title="Sample application"/> <fx:application name="SampleApp" mainClass="testapp.MainApp" preloaderClass="testpreloader.Preloader"> <fx:param name="testVariable" value="10"/> </fx:application> <fx:resources> <fx:fileset requiredFor="preloader" dir="dist"> <include name="preloader.jar"/> </fx:fileset> <fx:fileset dir="dist"> <include name="helloworld.jar"/> </fx:fileset> </fx:resources> </fx:deploy>
この例では、メモリー制約のある環境でアプリケーションを起動するために使用できるセカンダリ・ランチャを含む、自己完結型アプリケーションのパッケージを作成します。 メイン・ランチャではJVMオプションは設定されません。セカンダリ・ランチャはオプションを渡して、使用されるメモリー量を制限します。
<fx:deploy outdir="../samples/test/ant" nativeBundles="image"> <fx:application name="Secondary Launcher Sample" mainClass="hello.Test"/> <fx:resources> <fx:fileset dir="../samples/test/resources" includes="mainApp.jar"/> </fx:resources> <fx:info title="Secondary Launcher Test"/> <fx:secondaryLauncher mainClass="hello.Test" name="Standard Launch"/> <fx:secondaryLauncher name="Memory Constrained"> <fx:jvmarg="-xmx64m"/> </fx:secondaryLauncher> </fx:deploy>
<fx:deploy outdir="${bundles.dir}" outfile="MinesweeperFX" nativeBundles="all" verbose="true" <fx:runtime strip-native-commands="false"> <fx:add-modules value="java.base"/> <fx:add-modules value="jdk.packager.services,javafx.controls"/> <fx:limit-modules value="java.sql"/> <fx:limit-modules value="jdk.packager.services,javafx.controls"/> <fx:module-path value="${java.home}/../images/jmods"/> <fx:module-path value="${build.dir/modules"/> </fx:runtime> <fx:application id="MinesweeperFX" name="MinesweeperFX" module="fx.minesweeper" mainClass="minesweeper.Minesweeper" version="1.0"> </fx:application> <fx:secondaryLauncher name="Test2" module="hello.world" mainClass="com.greetings.HelloWorld"> </fx:secondaryLauncher> </fx:deploy>
説明
アプリケーションをJARファイルにパッケージ化します。含める一連のファイルは、ネストされた<fx:fileset>
パラメータによって定義されます。<fx:jar>
タスクは、JARファイルへのJARマニフェストの埋込みも行います。
JARアーカイブの作成に加えて、このタスクは次のことも行います。
JavaFXランタイムの存在を検出するJavaFXアプリケーション用のJavaFX起動ツールを埋め込み、環境を設定し、アプリケーションを実行します。
JARファイルでマニフェストを作成します。
生成されるJARファイルは、ダブルクリックによる起動をサポートします。
親要素
なし。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
JNLPファイルの |
String |
いいえ |
|
出力JARファイルへのパス(場所および名前)。 |
String |
はい |
ネストした要素として受け入れるパラメータ
<fx:jar>の使用例
例3-3および次の例を参照してください。
この例は、<fx:jar>
Antタスクを使用して、カスタム・プリローダーなしに単純なアプリケーションのメイン・アプリケーションJARファイルを作成する方法を示しています。生成されるJARファイルは、次の2つのアクションを実行します。
java -jar application.jar
として起動時にクラスパスで必要なすべてのリソースを使用して、またはJARファイルをダブルクリックして、test.MyApplicationを起動します。
JavaFXランタイムの場所を自動的に検出し、使用できない場合はインストールするようユーザーに要求するか、プラットフォームがサポートされていない場合はレポートします。
<!-- Expect definition of JavaFX ant tasks is already imported --> <fx:jar destfile="dist/application.jar"> <!-- Details about application --> <fx:application name="Sample JavaFX application" mainClass="test.MyApplication"/> <!-- Define what auxilary resources are needed --> <fx:resources> <fx:fileset dir="dist" includes="lib/*.jar"/> </fx:resources> <!-- What to include into result jar file? Everything in the build tree --> <fileset dir="build/classes"/> <!-- Customize jar manifest (optional) --> <manifest> <attribute name="Implementation-Vendor" value="Samples Team"/> <attribute name="Implementation-Version" value="1.0"/> </manifest> </fx:jar>
説明
注意:
Javaパッケージャ・ツールの<fx:signjar>
タスクは、将来のリリースでの削除に備えてJDK 9で非推奨です。また、これは、マルチリリースJARファイルでも動作しません。かわりに標準的なAnt signjar
タスクを使用してください。証明書の付いたアプリケーションJARファイルにデジタル署名します。
BLOBとしてJARファイルに署名します。つまり、すべてのエントリに別々に署名するのではなく、JARファイルは単一のバイナリ・オブジェクトとして署名されます。
親要素
なし。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
キーの別名。 |
String |
はい |
|
出力ファイルの場所。 |
String |
はい |
|
秘密鍵のパスワード。 |
String |
はい |
|
キーストア・ファイル名。 |
File |
はい |
|
署名するJARファイル*。 |
String |
いいえ この属性またはネストされた |
|
キーストアの整合性を確認したり、ロックを解除したりするためのパスワード |
String |
はい |
|
キーストア・タイプ。 |
String |
いいえ デフォルトは |
|
冗長出力を有効にする。 |
Boolean |
いいえ デフォルトは |
*注意:
<fx:signjar jar="path/to/jar/folder/jarname" .../>
は、次を簡単で便利にした構文です。
<fx:signjar ...> <fileset dir="path/to/jar/folder" file="jarname"/> </fx:signjar>
ネストした要素として受け入れるパラメータ
ヘルパー・パラメータは、「JavaFX Antタスク・リファレンス」で説明されているJavaFXタスクによって使用されるタイプです。このリファレンス・ページには次の要素があります。
アイテムはアルファベット順です。
説明
自己完結型アプリケーションに対して生成されたランタイムに追加するモジュールのリスト。すべてのモジュールをカンマ区切りリストを使用して単一インスタンスの<fx:add-modules>
で追加するか、追加するモジュールごとに1つのインスタンスの<fx:add-modules>
を使用できます。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
ランタイムに含める1つ以上のモジュール。モジュールが複数ある場合はカンマで区切ります。 |
String |
いいえ |
ネストした要素として受け入れるパラメータ
なし。
<fx:add-modules>の使用例
jdk.packager.services
およびjavafx.controls
のモジュールをランタイムに含める単一インスタンスの<fx:add-modules>
を使用します。
<fx:runtime> <fx:add-modules value="jdk.packager.services,javafx.controls"/> </fx:runtime>
モジュールごとに1つのインスタンスの<fx:add-modules>
を使用します。
<fx:runtime> <fx:add-modules value="jdk.packager.services"/> <fx:add-modules value="javafx.controls"/> </fx:runtime>
説明
基本的なアプリケーション記述子。アプリケーションの主なコンポーネントおよびパラメータのデフォルト・セットを定義します。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
アプリケーションがデーモンまたはサービスとしてインストールされているかどうかを示します。 |
Boolean |
いいえ デフォルト値は |
|
HTMLでのアプリケーションへのJavaScript参照を取得するために使用できるアプリケーションID。同じIDが、Antタスクのアプリケーション・オブジェクトの参照に使用できます( |
String |
いいえ |
|
|
String |
はい |
|
モジュラ・アプリケーションのメイン・モジュール。これは、アプリケーションの初期モジュール・グラフを構築する際、デフォルトのルート・モジュールとして使用されます。 |
String |
はい(モジュラ・アプリケーションをバンドルする場合)。アプリケーションがモジュラでない場合は無効です。 |
|
アプリケーションの短縮名。自己完結型アプリケーションの場合、出力パッケージの名前も定義します。 |
String |
いいえ デフォルト値はメイン・アプリケーション・クラスから導出されます。 |
|
|
String |
いいえ デフォルトは、JavaFXランタイムに付属しているプリローダーです。 |
|
-- |
参照 |
いいえ |
|
特定のUIツールキットを使用するアプリケーションの設定を示します。使用可能な値は次のとおりです。
|
String |
いいえ デフォルト値は |
|
パッケージされているアプリケーションのバージョン。 |
String |
いいえ デフォルト値は1.0です。 |
* refid
が使用される場合、他のパラメータは指定できません。
ネストした要素として受け入れるパラメータ
<fx:application>の使用例
<fx:application id="HelloWorldID" name="JavaFXHelloWorldApp" mainClass="HelloWorld"/>
<fx:application id="MinesweeperFX" name="MinesweeperFX" module="fx.minesweeper" mainClass="minesweeper.Minesweeper"/>
完全なAntスクリプトの例は、例3-3を参照してください。
説明
デプロイメント記述子の<fx:argument>
要素に挿入される名前なし引数。Antスクリプトにリストされているのと同じ順序で、複数の引数が引数のリストに追加されます。
パラメータ
なし。
ネストした要素として受け入れるパラメータ
なし。
<fx:argument>の使用例
<fx:application name="Sample app" mainClass="test.MyApplication"> <!-- unnamed arguments --> <fx:argument>Something</fx:argument> <!-- value with spaces that are generated at build time --> <fx:argument>JRE version: ${java.version}</fx:argument> <!-- example of value using a special character --> <fx:argument>true & false</fx:argument> </fx:application>
説明
ファイル拡張子またはMIMEタイプを自己完結型アプリケーションに関連付けます。この要素の複数のインスタンスがサポートされています。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
アプリケーションに関連付けられているタイルのタイプの説明。説明が提供されていない場合、application-name |
String |
いいえ |
|
1つ以上のファイル拡張子をアプリケーションに関連付けることができます。 |
String |
バンドラによって異なります脚注1 |
|
アプリケーションに関連付けるファイルのMIMEタイプ。ワイルドカード記号は使用できません。Windowsでは1つの値のみ使用でき、LinuxまたはmacOSにはスペースで区切って複数の値を指定できます。 |
String |
バンドラによって異なります脚注2 |
|
このアプリケーションに関連付けられているファイルのアイコンを含むファイルの名前。アイコンの形式はWindowsでは |
String |
いいえ |
脚注1
Windowsでは必須です。macOSではextension
またはmimetype
を指定する必要があります。
脚注2
Linuxでは必須です。macOSではextension
またはmimetype
を指定する必要があります。
ネストした要素として受け入れるパラメータ
なし。
説明
自己完結型アプリケーションの作成に使用されるバンドラの引数を指定します。各バンドラ・タイプに、独自の引数セットがあります。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
バンドラ引数の名前。 |
String |
はい |
|
バンドラ引数の値。 |
String |
はい |
自己完結型アプリケーション・バンドラの引数
バンドラの各タイプ(macOS、LinuxおよびWindows)には、独自の引数のセットがあります。
一般的なバンドラ引数
バンドラ固有のドロップイン・リソースを検索するディレクトリ。たとえば、macOSの場合、現在のディレクトリでInfo.plist
ファイルを検索するには、次を使用します。
<fx:bundleArgument arg="dropinResourcesRoot" value="."/>
ファイルが現在のディレクトリで見つかります: package/macosx/Info.plist
。
ユーザーがオーバーライドできるJVMオプションを確認するための<fx:preferences>要素のID。
macOSアプリケーション・バンドラ引数
起動ツールおよびその他の支援ツールに使用するデフォルト・アイコンへのパス。ファイル形式は.icns
です。
プロパティが足りないバイナリがファイル(拡張子.plist
を使用するplist)をリストしているか、既存の署名がバンドル内に見つかった場合に、署名付きバイナリに適用される接頭辞。
アプリケーションのカテゴリ。カテゴリは、Apple Developer Webサイトにあるカテゴリ・リスト内に含まれている必要があります。
CFBundleIdentifier
のinfo.plist
ファイルに格納された値。この値は、グローバルに一意である必要があり、文字、数字、ドットおよびダッシュのみを含む必要があります。DNS順序の反転をお薦めします(例: com.example.application.my-application
)。
Macメニュー・バーに表示されるアプリケーションの名前。16文字未満の名前をお薦めします。デフォルトは、<fx:application>
要素のname属性です。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>
要素のversion
属性の値とは別の値を指定できます。version
属性に有効な値が指定されていて、mac.CFBundleVersion
引数が指定されていない場合、version
属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。
開発者IDまたはGatekeeper署名に使用する署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
macOS DMG (ディスク・イメージ)バンドラ引数
バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスはパッケージ化されたアプリケーション・リソースに相対的です。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>
要素のversion
属性の値とは別の値を指定できます。version
属性に有効な値が指定されていて、mac.CFBundleVersion
引数が指定されていない場合、version
属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。
AppleScriptコードの実行に依存するDMGカスタマイズ手順をスキップするかどうかを示すフラグ。true
に設定して、手順をスキップします。true
に設定されている場合、ディスク・ウィンドウにバックグラウンド・イメージがないため、アイコンが所定の位置に移動しません。systemWide
引数もtrue
に設定されている場合、ルート・アプリケーション・フォルダのシンボリック・リンクがDMGファイルに追加されます。systemWide
引数がfalse
に設定されている場合、アプリケーションのみがDMGファイルに追加され、デスクトップのリンクは追加されません。
macOS PKGバンドラ引数
バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスはパッケージ化されたアプリケーション・リソースに相対的です。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>
要素のversion
属性の値とは別の値を指定できます。version
属性に有効な値が指定されていて、mac.CFBundleVersion
引数が指定されていない場合、version
属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。
開発者IDまたはGatekeeper署名に使用する署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
Mac App Storeバンドラ引数
アプリケーションが動作する資格を含むファイルの場所。ファイルは、Appleによって指定されている形式である必要があります。ファイルへのパスは、絶対的な語で指定することも、Antファイルに相対的に指定することもできます。資格を指定しない場合、アプリケーションは、通常のアプレット・サンドボックスよりもより厳しいサンドボックスで動作し、ネットワーク・ソケットおよびすべてのファイルへのアクセスが拒否されます。
アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>
要素のversion
属性の値とは別の値を指定できます。version
属性に有効な値が指定されていて、mac.CFBundleVersion
引数が指定されていない場合、version
属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。このバージョンが既存のアプリケーションのアップグレードである場合、値は以前のバージョン番号より大きくする必要があります。
Mac App Storeのアプリケーション署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
Mac App Storeのインストーラ署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。
Linuxバンドラ引数
Windows EXEおよびMSIバンドラ引数
起動ツールおよびその他の支援ツールに使用するデフォルト・アイコンのパス。ファイル形式は.ico
です。
バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスはパッケージ化されたアプリケーション・リソースに相対的です。
<fx:preferences>
要素のmenu属性がtrue
の場合、アプリケーションをインストールするメニュー・グループ。menu
がfalse
の場合、この引数は無視されます。
<fx:bundleArgument>の使用例
次の例では、生成されたWindowsインストーラ・パッケージ(MSIファイル)がサンプル・アプリケーションという名前のメニュー・グループに「スタート メニュー」のショートカットを作成することを指定します。バンドラが<fx:deploy>要素のnativeBundles
属性を持つMSIファイルを作成することを指定する必要があります。
<fx:deploy outdir="." outfile="helloworld" nativeBundles="msi"> <fx:platform basedir="${JAVA_HOME}"/> <fx:application refId="HelloWorldID"/> <fx:resources refid="appRes"/> <fx:info title="Hello World Example" vendor="Oracle Corporation"/> <fx:bundleArgument arg="win.menuGroup" value="Sample Applications"/> </fx:deploy>
説明
ユーザー操作のカスタマイズに使用できるJavaScriptコールバックを定義します。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
コールバックのイベントの名前。 |
String |
はい |
|
-- |
参照 |
いいえ |
* refid
が使用される場合、他のパラメータは指定できません。
ネストした要素として受け入れるパラメータ
<TEXT>
<fx:callback>の使用例
この例では、コールバックは、Webページに埋め込まれたアプリケーションのHTMLスプラッシュ画面を作成するために使用されます。イベントonGetSplash
がトリガーされると、JavaScript関数customGetSplash
が実行されます。
<fx:callbacks> <fx:callback name="onGetSplash">customGetSplash</fx:callback> </fx:callbacks>
この例では、コールバックは、<fx:callback>
要素自体でJavaScriptコードを使用して定義されます。
<fx:callbacks> <fx:callback name="onLoadHandler"> function () {perfLog(0, "onLoad called");} </fx:callback> </fx:callbacks>
<fx:callbacks> <fx:callback name="onJavascriptReady">callAppFunction</fx:callback> <fx:callback name="onGetSplash">function(id) {}</fx:callback> </fx:callbacks>
説明
ユーザー操作のカスタマイズに使用されるJavaScriptコールバックのコレクション。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
-- |
参照 |
いいえ |
* refid
が使用される場合、他のパラメータは指定できません。
ネストした要素として受け入れるパラメータ
<fx:callbacks>の使用例
<fx:callback>の例を参照してください。
説明
標準的なAnt FileSet
タイプの拡張子。選択されたファイルのセットに関するオプションのメタ情報を指定するための手段を提供します。これには、次のものが含まれます。
リソースのタイプ(type
属性を参照)
このリソースが適用可能なオペレーティング・システムおよびアーキテクチャ
このリソースが必要なタイミング。ロード順序の最適化に役立ちます。
タイプに応じて、囲むタスクによってリソースが使用されない場合があります。
タイプ"jar"
のファイルセットは、クラスパスに追加されるJARファイルのセットを含む必要があります。
タイプ"native"
のリソースは、ネイティブ・ライブラリのセットを含むJARファイルである必要があります。また、ほとんどの場合、このリソースのオペレーティング・システムおよびアーキテクチャを設定することは意味があります。
タイプ"jnlp"
のリソースは、外部のJNLP拡張子を定義するJNLPファイルを含む必要があります。
タイプ"license"
のファイルセットは、任意のファイルを含めることができますが、実際に使用するときは追加の制限事項が適用されることがあります(たとえば、Macではプレーン・テキスト・ファイルである必要があり、WindowsではRTFである必要があるなど)。
タイプ"data"
のファイルセットは、任意のファイルを含めることができます。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
( |
これらのリソースに対して適切なアーキテクチャを指定します。 |
String |
いいえ デフォルトは |
|
タスクで使用されるファイルを含むルート・ディレクトリを指定します。 |
String |
はい |
|
タスクから除外される |
String |
いいえ |
|
タスクに含まれる |
String |
いいえ |
( |
これらのリソースに対して適切なオペレーティング・システムを指定します。 |
String |
いいえ デフォルトは |
( |
リソースが必要なタイミングを定義します(ロードの優先度に影響します)。サポートされる値は次のとおりです。
|
String |
いいえ デフォルトは |
( |
セット内のリソースのタイプ。サポートされる値は次のとおりです。
|
String |
いいえ デフォルトは拡張子に基づいて推測されます。 |
* refid
が使用される場合、他のパラメータは指定できません。
ネストした要素として受け入れるパラメータ
なし(標準的なAnt要素を除く)。
説明
HTMLページからの埋込みまたはWeb Startアプリケーションに渡されるパラメータ。パラメータの値は、JavaScriptを使用して実行時に計算できます。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
文字列リテラル(true)またはJavaScript変数(false)として渡される値のために値を解釈する方法を定義します。 |
Boolean |
いいえ デフォルトはtrueで、これは値が文字列リテラルとして処理されることを意味します。 |
|
HTMLページからの埋込みまたはWeb Startアプリケーションに渡されるパラメータの名前。 |
String |
はい |
|
パラメータの値。値がパラメータとして渡される必要があるJavaScript変数の名前になることもあります。 JavaScript変数の場合、 |
String |
はい |
ネストした要素として受け入れるパラメータ
なし
<fx:htmlParam>タスクの使用例
<fx:application name="Sample app" mainClass="test.MyApplication"> <!-- Parameters passed from HTML page. Only applicable for embeddeded and Web Start applications and unused when run in a standalone and self-contained context. --> <!-- Parameter with name 'fixedParam', whose value is string '(new Date()).getTime()' --> <htmlParam name="fixedParam" value="(new Date()).getTime()"/> <!-- Parameter with name 'dynamicParam', whose value will be the timestamp of the moment when the application is added to the web page (value will be assigned the result of execution of JavaScript code) --> <htmlParam name="dynamicParam" escape="false" value="(new Date()).getTime()"/> </fx:application>
説明
アイコンを<fx:deploy>
タスクに渡します(スプラッシュ画面のイメージ以外)。
この要素で指定されたアイコンは、Web Startおよびデスクトップ・アプリケーションに使用されます。
JavaFX 2.2では、タイプdefault
のアイコンのみが、自己完結型アプリケーションに使用されます。自己完結型アプリケーションのアイコンのカスタマイズ方法の詳細は、ドロップイン・リソースを使用したパッケージのカスタマイズを参照してください。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
イメージの色深度(ピクセル当たりのビット数)。一般的な値は、8、16および24です。 |
String |
いいえ |
|
イメージの場所。 自己完結型アプリケーションの場合、サポートされるグラフィック形式は、オペレーティング・システムに応じて異なります。
自己完結型アプリケーションの独自のアイコンを指定する場合、属性 Web Startアプリケーションの場合、サポートされるグラフィック形式は、 |
String |
はい |
|
イメージの高さ(ピクセル)。 |
String |
いいえ |
|
アイコン・タイプ。サポートされる値は次のとおりです。
Web Startアプリケーションの場合、この属性は、JNLPファイルの デスクトップ・アプリケーションでは、この属性が指定されていないか、 |
String |
いいえ デフォルト値は |
|
イメージの幅(ピクセル)。 |
String |
いいえ |
ネストした要素として受け入れるパラメータ
なし。
説明
ユーザーへのアプリケーションの説明。これらの詳細は、システムのダイアログ・ボックスに表示されます(表示する必要がある場合)。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
アプリケーション・カテゴリ。指定されたカテゴリのアプリケーションへのリンクを作成します。値のセマンティックスは、パッケージの形式に応じて異なります。 次に例を示します。
|
String |
いいえ |
|
短いコピーライト文。 |
String |
いいえ |
|
アプリケーションを説明する短い文。 |
String |
いいえ |
|
ライセンス・タイプ(たとえばGPL)。JavaFX 2.2以降、この属性はLinuxバンドルでのみ使用されます。 |
String |
いいえ |
|
アプリケーションのタイトル。 |
String |
はい |
|
アプリケーションのプロバイダ。 |
String |
はい |
ネストした要素として受け入れるパラメータ
説明
アプリケーションを実行するJVMで設定されるJVM引数。複数回使用できます。値に空白文字が含まれる場合、さらに値をエスケープする必要はありません。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
JVM引数の値。 |
String |
はい |
ネストした要素として受け入れるパラメータ
なし。
<fx:jvmarg>の使用例
例2「JVMオプションを指定する<fx:platform>パラメータ」を参照してください。
説明
アプリケーションを実行するJVMで設定される、ユーザーがオーバーライド可能なJVM引数。複数回使用できます。値に空白文字が含まれる場合、さらに値をエスケープする必要はありません。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
JVM引数の値。 |
String |
はい |
ネストした要素として受け入れるパラメータ
なし。
<fx:jvmuserarg>の使用例
例2「JVMオプションを指定する<fx:platform>パラメータ」を参照してください。
説明
参照可能なモジュールのセットを、指定されたリストの推移閉包のモジュールおよびメイン・モジュール(存在する場合)、さらに、<fx:add-modules>
要素で指定されたその他のモジュールに制限します。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
参照可能なモジュールの領域を制限するために使用するモジュールのカンマ区切りのリスト。 |
String |
いいえ |
ネストした要素として受け入れるパラメータ
なし。
説明
生成されたランタイムに含めるアプリケーション・モジュールへのパス。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
モジュールの場所のリスト。LinuxおよびmacOSの場合、コロン(:)を使用してパスを区切ります。Windowsではセミコロン(;)を使用します。 |
String |
いいえ |
ネストした要素として受け入れるパラメータ
なし。
説明
アプリケーションに渡されるパラメータ(アプリケーション・パッケージに埋込み)。
このタグは、自己完結型アプリケーションを含むスタンドアロン・アプリケーションには影響しません。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
パラメータの名前。 |
String |
はい |
|
パラメータの値。 |
String |
はい |
ネストした要素として受け入れるパラメータ
なし。
<fx:param>タスクの使用例
<fx:application name="Sample app" mainClass="test.MyApplication"> <!-- parameter with name 'simpleParam' and fixed string value--> <param name="simpleParam" value="something"/> <!-- parameter with name 'complexParam' with value generated at build time --> <param name="complexParam" value="Compiled by ${java.version}"/> <!-- parameter with name 'novalueParam' and no value --> <param name="novalueParam"/> </fx:application>
説明
アプリケーションで必要なセキュリティ権限の定義。デフォルトでは、アプリケーションはサンドボックスで実行されます。高い権限を要求するには、アプリケーションJARファイルへの署名が必要です。
このオプションは、自己完結型アプリケーションを含むスタンドアロン・アプリケーションには影響しません。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
falseに設定した場合、アプリケーションはサンドボックスで実行されます。 |
Boolean |
いいえ デフォルトはfalseです。 |
ネストした要素として受け入れるパラメータ
なし。
説明
アプリケーションのプラットフォーム要件を定義します。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
-- |
参照 |
いいえ |
|
アプリケーションで必要なJREの最小バージョン。 |
String |
いいえ デフォルトは、JavaFXをサポートしている任意のJREです。 |
* refid
が使用される場合、他のパラメータは指定できません。
ネストした要素として受け入れるパラメータ
<fx:platform>の使用例
この例では、アプリケーションにJREバージョン9.0以降が必要です。
<fx:platform j2se="9.0"/>
この例では、アプリケーションは、JREバージョン9.0以降が必要で、"-Xmx400 -verbose:jni -Dpurpose="sample value"
を使用して起動されたJVMで実行する必要があります。
<fx:platform j2se="9.0"> <fx:jvmarg value="-Xmx400m"/> <fx:jvmarg value="-verbose:jni"/> <property name="purpose" value="sample value"/> </fx:platform>
この例では、ヒープ・サイズのデフォルト値として-Xmx768mが渡されます。ユーザーは、ユーザー構成ファイルでこの値をオーバーライドできます。
<fx:platform> <fx:jvmuserarg name="-Xmx" value="768m" /> </fx:platform>
説明
アプリケーションのデプロイメント・プリファレンス。プリファレンスを表すことはできますが、たとえば次の場合のように、必ずしも満たされているわけではありません。
あるプリファレンスが特定の実行モードでサポートされていない場合、パッケージャはそれを無視することがあります。
あるプリファレンスがサポートされていない場合、JREはそれを無視することがあります。
たとえば、ユーザーがデスクトップ・ショートカットを作成できるかどうかを求められた場合、要求を拒否することがあります。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
Installの 自己完結型アプリケーションの場合、 パッケージャが要求されたパッケージ形式に対して異なるタイプのインストール・パッケージをサポートしていない場合、この値は無視されます。 |
Boolean |
いいえ Web Startおよび埋込みアプリケーションの場合、デフォルトは 自己完結型アプリケーションの場合、デフォルト値は様々なパッケージ形式によって異なります。 |
|
|
Boolean |
いいえ デフォルトは |
|
|
Boolean |
いいえ デフォルトは |
|
-- |
参照 |
いいえ |
|
|
Boolean |
いいえ デフォルトは |
* refid
が使用される場合、他のパラメータは指定できません。
ネストした要素として受け入れるパラメータ
なし。
<fx:preferences>の使用例
この例では、デスクトップ・ショートカットを作成する要求を示します。
<fx:preferences id="p1" shortcut="true"/>
この例では、次の操作を行います。
アプリケーションをアプリケーション・メニューに追加し、インストール済としてマークする(つまり、アプリケーションが「プログラムの追加と削除」にリストされる)Webデプロイメント記述子の作成を要求します。
自己完結型バンドルが作成された場合、システム全体にインストールされ、アプリケーション・エントリをアプリケーション・メニューに作成します。
<fx:preferences shortcut="false" install="true" menu="true"/>
この例では、例1「デスクトップ・ショートカットを追加する<fx:preferences>パラメータ」の<fx:preferences>パラメータへの参照を使用して、ショートカットを作成します。
<fx:resource refid="p1"/>
説明
オプションの要素で、複数回使用できます。アプリケーションを実行するJVMで設定されるJavaプロパティ。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
設定するプロパティの名前。 |
String |
はい |
|
設定するプロパティの値。 |
String |
はい |
ネストした要素として受け入れるパラメータ
なし。
説明
アプリケーションで使用するリソースのコレクション。一連のJavaFXファイルセット・フィルタとして定義されます。id
またはrefid
を使用して再利用できます。
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
refid属性を使用した別の要素から参照できるID。 |
String |
いいえ |
|
-- |
参照 |
いいえ |
* refid
が使用される場合、他のパラメータは指定できません。
ネストした要素として受け入れるパラメータ
<fx:resources>の使用例
この例では、両方の<fx:resources>
要素がコレクションを定義し、dist
ディレクトリのs.jar
で構成されます。最初の<fx:resources>
要素はid
属性を使用し、2番目の<fx:resources>
要素はrefid
属性を使用して最初の要素を参照します。
<fx:resources id="aaa"> <fx:fileset dir="dist" includes="s.jar"/> </fx:resources> <fx:resources refid="aaa"/>
署名および無署名のJARファイルを混在させる場合、この例に示すように、追加の<fx:deploy> Antタスクを使用して、各JARファイルに拡張記述子を生成し、メイン・ファイルのリソースとして処理することによって拡張記述子を参照します。
<!-- Prepare extension -->
<fx:deploy extension="true"
outdir="dist" outfile="other">
...
<fx:deploy>
<!-- Use it in the main descriptor -->
<fx:deploy outdir="web-dist" ...>
...
<fx:resources>
<fx:fileset dir="dist" includes="other.jnlp"/>
...
</fx:resources>
<fx:deploy>
追加の例は自己完結型アプリケーションのパッケージ化にあります。
説明
自己完結型アプリケーション用に生成されるランタイム。jlink
ツールを使用して、アプリケーションの実行に必要なパッケージのみを含むランタイムが生成され、オプションでjava.exe
などのコマンド行ツールを含めることができます。
JDK 9のJavaパッケージャは、JDK 9ランタイム・イメージを生成します。JDK 8またはJDK 7 JREをアプリケーションとパッケージ化するには、JDK 8 Javaパッケージャを使用します。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
|
Boolean |
いいえ デフォルトはtrueです。 |
ネストした要素として受け入れるパラメータ
<fx:runtime>の使用例
<fx:runtime strip-native-commands="false"/>
jdk.packager.services
およびjavafx.controls
のモジュールをランタイムに含める<fx:runtime> <fx:add-modules value="jdk.packager.services,javafx.controls"/> </fx:runtime>
jdk.packager.services
のモジュールを含めて、アプリケーション・モジュールの場所を指定<fx:runtime> <fx:add-modules value="jdk.packager.services"/> <fx:module-path value="${java.home}/../images/jmods"/> <fx:module-path value="${build.dir}/modules"/> </fx:runtime>
説明
自己完結型アプリケーションのセカンダリ・エントリ・ポイントおよびモジュラ・アプリケーションのメイン・モジュールを識別します。スタンドアロン・アプリケーション、Webページに埋め込まれたアプリケーション、ブラウザから起動されたアプリケーションでは、このパラメータは無視されます。
このパラメータは、WindowsおよびLinuxアプリケーションに対してのみ有効です。
親要素
パラメータ
属性 | 説明 | タイプ | 必須 |
---|---|---|---|
|
アプリケーションの簡潔な説明。 |
String |
いいえ |
|
アプリケーションのアイコン・ファイルのパス。 |
String |
いいえ |
|
メイン・アプリケーション・クラスの修飾名。 |
String |
いいえ |
|
アプリケーションが「スタート」メニューに追加されているかどうかを示すフラグ。
|
Boolean |
いいえ デフォルトは |
|
モジュラ・アプリケーションのメイン・モジュール。これは、アプリケーションの初期モジュール・グラフを構築する際、デフォルトのルート・モジュールとして使用されます。 |
String |
はい(モジュラ・アプリケーションをバンドルする場合)。アプリケーションがモジュラでない場合は無効です。 |
|
アプリケーションの起動に使用するランチャの名前。 |
String |
はい |
|
アプリケーションのショートカットがデスクトップに追加されているかどうかを示すフラグ。
|
Boolean |
いいえ デフォルトは |
|
アプリケーションのタイトル。 |
String |
いいえ |
|
アプリケーションを提供したベンダーの名前。 |
String |
いいえ |
|
アプリケーションのバージョン。 |
String |
いいえ |
ネストした要素として受け入れるパラメータ
<fx:bundleArgument>。<fx:secondaryLauncher>
とともに使用する場合、icon
引数のみが有効です
<fx:secondaryLauncher>の使用例
例3「セカンダリ・ランチャでの<fx:deploy>タスク」を参照してください。
<fx:secondaryLauncher name="HelloWorldModular" module="hello.world" mainClass="com.sample.app.HelloWorld"> </fx:secondaryLauncher>
説明
スプラッシュ画面として使用されるイメージの場所を渡します。現在、カスタムのスプラッシュ・イメージはWeb Startアプリケーションにのみ渡すことができ、このパラメータの使用は、スタンドアロン・アプリケーションやWebページに埋め込まれたアプリケーションには影響しません。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
イメージの場所。サポートされるグラフィック形式は、JPEG、GIFおよびPNGです。 |
String |
はい |
|
デプロイメント・モード。サポートされる値は次のとおりです。
|
String |
いいえ デフォルト値は |
ネストした要素として受け入れるパラメータ
なし。
説明
前処理を行うテンプレート。テンプレートは、Webデプロイメントに必要なJavaScriptまたはHTMLスニペットに置き換えられるマーカーを含むHTMLファイルです。テンプレートの使用によって、アプリケーションを独自のWebページに直接デプロイできます。特にアプリケーションがページに密接に統合されている場合(たとえばWebページがアプリケーションへの通信にJavaScriptを使用する場合など)は、これにより開発プロセスが簡略化されます。
テンプレート・マーカーには、次のいずれかの形式があります。
#
XXX#
#
XXX(
id)#
idはアプリケーションの識別子で、XXXは次のいずれかです。
DT.SCRIPT.URL
配備ツールキット内のdtjava.js
の場所。デフォルトの場所は次のとおりです
https://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()
メソッド内にラップすることが期待されます。
異なるアプリケーションを含むページを複数回処理できます(アプリケーション当たり1回)。混乱を避けるために、マーカーは、英数字の文字列で空白なしのアプリケーションIDを使用する必要があります。
入力ファイルと出力ファイルが同じ場合、テンプレートは適切な場所で処理されます。
親要素
パラメータ
属性 | 説明 | タイプ | 必須? |
---|---|---|---|
|
入力テンプレート・ファイル。 |
File |
はい |
|
出力ファイル(前処理後)。 |
File |
いいえ デフォルトは入力ファイルと同じです。 |
ネストした要素として受け入れるパラメータ
なし
<fx:template>の使用例
この例では、入力ファイルと出力ファイルの両方が指定される<fx:template>
パラメータを示します。
<fx:template file="App_template.html" tofile="App.html"/>
<fx:deploy placeholderId="ZZZ" width="600" height="400" outdir="dist-web" outfile="App1"> <fx:application id="myApp" name="Demo" mainClass="fish.FishApplication"/> <fx:template file="src/templates/EmbedApp_template.html" tofile="dist-web/EmbedApp.html"/> <fx:resources> <fx:fileset requiredFor="startup" dir="dist" includes="*.jar"/> </fx:resources> </fx:deploy>