プライマリ・コンテンツに移動
Java Platform, Standard Editionデプロイメント・ガイド
リリース10
E94981-01
目次へ移動
目次

前
次

3 JavaFX Antタスク

この章では、Antを使用してJavaおよびJavaFXアプリケーションをパッケージ化する方法を示します。

アプリケーションをパッケージ化するために推奨されている方法は、JavaFX AntタスクおよびJavaパッケージャ・ツールです。

この章のトピックは、次のとおりです:

次の2つのAntタスク・リファレンスの項も参照してください。

JavaFX Antタスクを実行するための要件

これらのタスクを使用するには、ant-javafx.jarファイルが必要です。これは次の場所にあります。

  • JDK 7 Update 6以降では、jdk_home/libにあります。

  • スタンドアロンJavaFXインストールでは、javafx-sdk-home/libにあります。

JavaFX Ant要素

Ant要素には、JavaFX AntタスクおよびAntヘルパー・パラメータの2つのカテゴリがあります。

JavaFX Antタスク

JavaFX Antタスクは次のタスクを実行します。

  • ダブルクリック可能なJARファイルの作成

  • Web StartアプリケーションまたはWebページに埋め込まれたアプリケーションのHTMLページおよびデプロイメント記述子の作成

  • アプリケーションへのデジタル署名(必要な場合)

  • CSSファイルのバイナリ形式への変換

  • 自己完結型アプリケーション・パッケージの構築

要素は、JavaFX Antタスク・リファレンスで説明されています。

Antヘルパー・パラメータ

Antヘルパー・パラメータはJavaFX Antタスクで使用されます。ヘルパー・パラメータは、JavaFX Antヘルパー・パラメータ・リファレンスで説明されています。

JavaFX Antタスクの使用

AntスクリプトでJavaFX Antタスクを使用するには、その定義をロードする必要があります。例3-1build.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スクリプトの例

この項の内容は次のとおりです。

JavaFX Hello Worldの例のデプロイ

Antスクリプトを使用したJARファイルとしてJavaFX Hello Worldの例をデプロイするには、次の手順に従います。

  1. アプリケーションの例を格納するディレクトリを作成します。次の手順では、ディレクトリC:\exampleを使用します。
  2. 例3-2C:\example\src\HelloWorld.javaとして保存します。
  3. 例3-3C:\example\build.xmlとして保存します。
  4. ファイルbuild.xmlで、JAVA_HOMEプロパティの値を変更することによって、コンピュータにインストールされるJDKの場所を指定します。強調表示されたテキストをJDKのフルパスに変更します。
    <property name="JAVA_HOME" value="C:\\Java\\jdk-9"/>
    
  5. コマンド行プロンプトで、ディレクトリをC:\exampleに変更します。JavaFX HelloWorldの例をコンパイル、ビルドおよびデプロイするには、次のコマンドを実行します。
    ant
    
  6. 例を実行するには、コマンド行プロンプトで、ディレクトリをC:\example\distに変更し、次のコマンドを実行します。
    java -jar HelloWorld.jar

例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の例のデプロイ

自己完結型アプリケーションとして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スクリプトが自己完結型アプリケーションを作成する方法をカスタマイズできます。自己完結型アプリケーションのパッケージ化を参照してください。

外部JARファイルを使用したJavaFXアプリケーションのデプロイ

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オプションのオーバーライド

自己完結型アプリケーションのJVMオプションをオーバーライドするには、設定ノードでそれを指定してから、app.preferences.idシステム・プロパティでこのノードの名前を設定します。次の例では、<fx:jvmuserarg>要素で指定された-Xmsおよび-Xmx JVMオプションをオーバーライドします。これらのオプションがオーバーライドされたことを確認するために、アプリケーションは、(-Xmsおよび-Xmxオプションの値に基づいて)メモリー割当てプールの初期サイズおよび最大サイズを表示します。

  1. アプリケーションの例を格納するディレクトリを作成します。次の手順では、ディレクトリC:\memexampleを使用します。
  2. 例3-5C:\memexample\src\MemoryExamplePreferences.javaとして保存します。

    次の文では、オプション-Xmsおよび-Xmxの値をコンピュータに格納するjava.util.prefs.Preferencesノードを取り出します。

    prefs = Preferences.userRoot().node(System.getProperty("app.preferences.id")).node("JVMUserOptions");
    

    このノードの名前はapp.preferences.id/JVMUserOptionsです。app.preferences.idプロパティの値は、<fx:application>要素のid属性の値です。この例では、app.preferences.idの値はMemoryTestAppIDです。自己完結型アプリケーションを実行すると、起動ツール・プログラムはシステム・プロパティを自動的に設定します。ただし、クラスを直接実行する場合、システム・プロパティとしてapp.preferences.idの値を指定する必要があります。たとえば、コマンド行からこのクラスを実行する場合、app.preferences.idの値を次のように指定します。

    java -cp classes -Dapp.preferences.id=MemoryTestAppID
    

    この例では、Antビルド・スクリプトはMemoryTestPreferencesクラスを実行し、app.preferences.idプロパティの値を設定します。

    たとえば、Microsoft Windowsを使用している場合、このクラスは、WindowsレジストリにComputer\HKEY_CURRENT_USER\Software\JavaSoft\Prefs\MemoryTestAppID\JVMUserOptionsという名前の設定ノードを作成します。

  3. 例3-6C:\memexample\src\MemoryExample.javaとして保存します。
  4. 例3-7C:\memexample\build.xmlとして保存します。

    このAntスクリプトは、MemoryTestPreferencesクラスをコンパイルおよび実行し、app.preferences.idプロパティの値を設定します。

            <java fork="true" jvm="${env.JAVA_HOME}\bin\java"
                  classname="MemoryTestPreferences" classpath="${build.classes.dir}">
                <sysproperty key="app.preferences.id" value="MemoryTestAppID"/>
            </java>
    
  5. ファイルbuild.xmlで、JAVA_HOMEプロパティの値を変更することによって、コンピュータにインストールされるJDKの場所を指定します。強調表示されたテキストをJDKのフルパスに変更します。
    <property name="JAVA_HOME" value="C:\\Java\\jdk-9"/>
    
  6. コマンド行プロンプトで、ディレクトリをC:\memexampleに変更します。この例をコンパイル、ビルドおよびデプロイするには、次のコマンドを実行します。
    ant
    
  7. メモリー・テスト・アプリケーションを実行するには、C:\memexample\bundles\bundles/JavaFXMemoryTestAppに格納されているアプリケーションの1つを実行します。

    メモリー割当てプールの初期サイズおよび最大サイズに加えて、この例では、使用しているJVM引数を表示します。

    -Djava.library.path=C:\memexample\bundles\JavaFXMemoryTestApp\app\
    -Dapp.preferences.id=MemoryTestAppID
    -Xms2048m
    -Xmx2048m
    

    Antビルド・スクリプトは、<fx:jvmuserarg>要素を使用して、メモリー割当てプールの初期サイズと最大サイズをそれぞれ31mと64mに指定します。ただし、この例のAntスクリプトは、アプリケーションの実行前に、Preferencesノードに2048mと2048mの優先的な値を格納する別のプログラムを実行するため、それらの値がかわりに使用されます。

例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タスク・リファレンス

次のアイテムは、主なJavaFX Antタスクを構成します。

  • <fx:csstobin>

    高速に処理するためにCSSファイルをバイナリ形式に変換します。

  • <fx:deploy>

    再配布用のアプリケーション・パッケージを構築します。デフォルトでは、デプロイ・タスクでベース・アプリケーション・パッケージが生成されますが、要求された場合は自己完結型アプリケーション・パッケージも生成できます。

  • <fx:jar>

    1つ以上のアプリケーションJARファイルを作成します。

  • <fx:signjar>

    アプリケーションにデジタル署名を提供します。

    注意:

    Javaパッケージャ・ツールの<fx:signjar>タスクは、将来のリリースでの削除に備えてJDK 9で非推奨です。また、これは、マルチリリースJARファイルでも動作しません。かわりに標準的なAnt signjarタスクを使用してください。

アイテムはアルファベット順です。

<fx:csstobin>

説明

CSSファイルのセットをバイナリ形式(BSS)に変換します。

親要素

なし。

パラメータ

属性 説明 タイプ 必須?

outdir

出力ファイルが生成されるディレクトリの名前。

String

はい

ネストした要素として受け入れるパラメータ

<fx:csstobin>タスクの使用例

例1   CSSファイルのバイナリへの変換

この例では、出力ツリー内のすべてのCSSファイルをバイナリ形式に変換します。

<fx:csstobin outdir="build/classes">
    <fileset dir="build/classes" includes="**/*.css"/>
</fx:csstobin>

<fx:deploy>

説明

Webデプロイメントおよびスタンドアロンのアプリケーションの両方のパッケージを生成します。パッケージには、一連のJARファイル、1つのJNLPファイルおよび1つのHTMLファイルが含まれています。

親要素

なし。

パラメータ

属性 説明 タイプ 必須?

embeddedHeight

存在する場合、この値は、幅/高さではなく、Javascript/HMTLコードに使用されます。埋込みデプロイメント・モードにのみ影響します。

埋込みアプリケーションの相対ディメンションを指定する場合に使用します。

String

いいえ

embeddedWidth

embeddedHeightの説明と同じです。

String

いいえ

embedjnlp

trueの場合、JNLP記述子をWebページに埋め込みます。起動時に作成されるネットワーク接続数を削減し、起動時間の改善に役立てます。

Boolean

いいえ

デフォルトはfalseです。

extension

srcfilesで指定されたファイルを拡張子として扱います。存在する場合、デプロイメント記述子の一部のみが生成され、HTMLファイルは生成されません。

Boolean

いいえ

デフォルトはfalseです。

height

アプリケーションをWebページに埋め込むための、アプリケーション・シーンの高さ。

String

はい

includeDT

trueに設定した場合、配備ツールキットに関連するファイルは、outdirで指定されたディレクトリのweb-filesサブディレクトリにコピーされます。この設定は、オフライン開発には役立ちますが、本番用にはお薦めしません。

Boolean

いいえ

デフォルトはfalseです。

nativeBundles

値:

  • all

  • deb

  • dmg

  • exe

  • image

  • installer

  • jnlp

  • mac.appStore

  • msi

  • none

  • pkg

  • rpm

allは、Antタスクが実行されるプラットフォームで適用可能なすべての自己完結型アプリケーション・パッケージを生成します。値installerは、インストール可能なパッケージのみを生成します。ディスク・イメージは生成しません。値jnlpは、Java Web Startアプリケーションの.jnlpおよび.htmlファイルのみを生成します。値noneは、自己完結型アプリケーション・パッケージを生成しません。その他の値は、特定のパッケージ・インストーラを生成します。

String

いいえ

デフォルトはnoneです。

offlineAllowed

値がtrueの場合、クライアント・システムがネットワークから切断されても、キャッシュされたアプリケーションが稼働できます。

Boolean

デフォルトはtrueです。

outdir

出力ファイルが生成されるディレクトリの名前。

String

はい

outfile

出力ファイルの接頭辞(拡張子なし)。

String

はい

placeholderref

アプリケーションが埋め込まれるWebページのプレースホルダ。これはJavaScript DOMオブジェクトである必要があります。

String

はい

プレースホルダの参照またはIDのいずれかが必要です。

placeholderid

コールバックで使用されます。アプリケーションが埋め込まれるWebページのプレースホルダのID。これを解決するには、JavaScript関数document.getElementById()が使用されます。

String

はい

プレースホルダの参照またはIDのいずれかが必要です。

signBundle

バンドラが生成されたバンドルに署名するよう要求するために、自己完結型アプリケーションで使用します。この属性は、署名をサポートしないバンドラでは無視されます。JDKの8u40リリース時には、macOSバンドラのみ署名をサポートしています。

Boolean

デフォルト値は、使用しているバンドラによって異なります。

updatemode

埋込みおよびWeb Startアプリケーションでアプリケーション更新の確認が実行される時期についての設定を示します。

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

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

String

いいえ

デフォルトはbackgroundです。

width

アプリケーションをWebページに埋め込むための、アプリケーション・シーンの幅。

String

はい

<fx:deploy>タスクの使用例

例1   最小限の<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>  
例2   プリローダーを使用したアプリケーションの<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>
例3   セカンダリ・ランチャでの<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>
例4   カスタム・ランタイムを含むモジュラ・アプリケーションの<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>

<fx:jar>

説明

アプリケーションをJARファイルにパッケージ化します。含める一連のファイルは、ネストされた<fx:fileset>パラメータによって定義されます。<fx:jar>タスクは、JARファイルへのJARマニフェストの埋込みも行います。

JARアーカイブの作成に加えて、このタスクは次のことも行います。

  • JavaFXランタイムの存在を検出するJavaFXアプリケーション用のJavaFX起動ツールを埋め込み、環境を設定し、アプリケーションを実行します。

  • JARファイルでマニフェストを作成します。

生成されるJARファイルは、ダブルクリックによる起動をサポートします。

親要素

なし。

パラメータ

属性 説明 タイプ 必須?

codebase

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

String

いいえ

destfile

出力JARファイルへのパス(場所および名前)。

String

はい

ネストした要素として受け入れるパラメータ

<fx:jar>の使用例

例3-3および次の例を参照してください。

例1   単純なアプリケーションの<fx:jar> Antタスク

この例は、<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>   

<fx:signjar>

説明

注意:

Javaパッケージャ・ツールの<fx:signjar>タスクは、将来のリリースでの削除に備えてJDK 9で非推奨です。また、これは、マルチリリースJARファイルでも動作しません。かわりに標準的なAnt signjarタスクを使用してください。

証明書の付いたアプリケーションJARファイルにデジタル署名します。

BLOBとしてJARファイルに署名します。つまり、すべてのエントリに別々に署名するのではなく、JARファイルは単一のバイナリ・オブジェクトとして署名されます。

親要素

なし。

パラメータ

属性 説明 タイプ 必須?

alias

キーの別名。

String

はい

destdir

出力ファイルの場所。

String

はい

keypass

秘密鍵のパスワード。

String

はい

keystore

キーストア・ファイル名。

File

はい

jar

署名するJARファイル*。

String

いいえ

この属性またはネストされた<fx:fileset>要素が必要です。

storepass

キーストアの整合性を確認したり、ロックを解除したりするためのパスワード

String

はい

storetype

キーストア・タイプ。

String

いいえ

デフォルトはjksです。

verbose

冗長出力を有効にする。

Boolean

いいえ

デフォルトはfalseです。

*注意:

<fx:signjar jar="path/to/jar/folder/jarname" .../>

は、次を簡単で便利にした構文です。

<fx:signjar ...>
    <fileset dir="path/to/jar/folder" file="jarname"/> 
</fx:signjar>

ネストした要素として受け入れるパラメータ

<fx:signjar>の使用例

例1   JARファイルへの署名

次のAntコードのスニペットは、BLOB技術として新しい署名を使用してJARファイルに署名する方法を示しています。

<fx:signjar destdir="dist"
        keyStore="sampleKeystore.jks" storePass="****"
        alias="javafx" keyPass="****">
    <fileset dir='dist/*.jar'/>
</fx:signjar>

JavaFX Antヘルパー・パラメータ・リファレンス

ヘルパー・パラメータは、「JavaFX Antタスク・リファレンス」で説明されているJavaFXタスクによって使用されるタイプです。このリファレンス・ページには次の要素があります。

アイテムはアルファベット順です。

<fx:add-modules>

説明

自己完結型アプリケーションに対して生成されたランタイムに追加するモジュールのリスト。すべてのモジュールをカンマ区切りリストを使用して単一インスタンスの<fx:add-modules>で追加するか、追加するモジュールごとに1つのインスタンスの<fx:add-modules>を使用できます。

親要素

パラメータ

属性 説明 タイプ 必須?

value

ランタイムに含める1つ以上のモジュール。モジュールが複数ある場合はカンマで区切ります。

String

いいえ

ネストした要素として受け入れるパラメータ

なし。

<fx:add-modules>の使用例

例1   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>

<fx:application>

説明

基本的なアプリケーション記述子。アプリケーションの主なコンポーネントおよびパラメータのデフォルト・セットを定義します。

親要素

パラメータ

属性 説明 タイプ 必須?

daemon

アプリケーションがデーモンまたはサービスとしてインストールされているかどうかを示します。

Boolean

いいえ

デフォルト値はfalseです。

id

HTMLでのアプリケーションへのJavaScript参照を取得するために使用できるアプリケーションID。同じIDが、Antタスクのアプリケーション・オブジェクトの参照に使用できます(refidを使用)。

String

いいえ

mainClass

javafx.application.Applicationを拡張する、メイン・アプリケーション・クラスの修飾名。

String

はい

module

モジュラ・アプリケーションのメイン・モジュール。これは、アプリケーションの初期モジュール・グラフを構築する際、デフォルトのルート・モジュールとして使用されます。

String

はい(モジュラ・アプリケーションをバンドルする場合)。アプリケーションがモジュラでない場合は無効です。

name

アプリケーションの短縮名。自己完結型アプリケーションの場合、出力パッケージの名前も定義します。

String

いいえ

デフォルト値はメイン・アプリケーション・クラスから導出されます。

preloaderClass

javafx.application.Preloaderを拡張する、プリローダー・クラスの修飾名。

String

いいえ

デフォルトは、JavaFXランタイムに付属しているプリローダーです。

refid*

--

参照

いいえ

toolkit

特定のUIツールキットを使用するアプリケーションの設定を示します。使用可能な値は次のとおりです。

  • fx

  • swing

String

いいえ

デフォルト値はfxです。

version

パッケージされているアプリケーションのバージョン。

String

いいえ

デフォルト値は1.0です。

* refidが使用される場合、他のパラメータは指定できません。

ネストした要素として受け入れるパラメータ

<fx:application>の使用例

例1   非モジュラ・アプリケーションのアプリケーションの説明
<fx:application id="HelloWorldID"
    name="JavaFXHelloWorldApp"
    mainClass="HelloWorld"/>		
例2   モジュラ・アプリケーションのアプリケーションの説明
<fx:application id="MinesweeperFX"
    name="MinesweeperFX"
    module="fx.minesweeper"
    mainClass="minesweeper.Minesweeper"/>		

完全なAntスクリプトの例は、例3-3を参照してください。

<fx:argument>

説明

デプロイメント記述子の<fx:argument>要素に挿入される名前なし引数。Antスクリプトにリストされているのと同じ順序で、複数の引数が引数のリストに追加されます。

パラメータ

なし。

ネストした要素として受け入れるパラメータ

なし。

<fx:argument>の使用例

例1   様々な名前なし引数の受渡し
<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 &amp; false</fx:argument>
</fx:application> 

<fx:association>

説明

ファイル拡張子またはMIMEタイプを自己完結型アプリケーションに関連付けます。この要素の複数のインスタンスがサポートされています。

親要素

パラメータ

属性 説明 タイプ 必須?

description

アプリケーションに関連付けられているタイルのタイプの説明。説明が提供されていない場合、application-name Fileが使用されます。

String

いいえ

extension

1つ以上のファイル拡張子をアプリケーションに関連付けることができます。aaa bbb cccのように、各値をスペースで区切ります。ワイルドカード記号は使用できません。

String

バンドラによって異なります脚注1

mimetype

アプリケーションに関連付けるファイルのMIMEタイプ。ワイルドカード記号は使用できません。Windowsでは1つの値のみ使用でき、LinuxまたはmacOSにはスペースで区切って複数の値を指定できます。

String

バンドラによって異なります脚注2

icon

このアプリケーションに関連付けられているファイルのアイコンを含むファイルの名前。アイコンの形式はWindowsでは.ico、Linuxでは.png、macOSでは.icnsにする必要があります。ファイル名が指定されていない場合、アプリケーションのアイコンが使用されます。

String

いいえ

脚注1

Windowsでは必須です。macOSではextensionまたはmimetypeを指定する必要があります。

脚注2

Linuxでは必須です。macOSではextensionまたはmimetypeを指定する必要があります。

ネストした要素として受け入れるパラメータ

なし。

<fx:association>の使用例

例1   ファイルと自己完結型アプリケーションの関連付け

この例では、Windows上の自己完結型アプリケーションをファイル拡張子が.aaaまたは.bbbのファイルに関連付けて、説明とアイコンを指定します。

<fx:info title="Association example">
  <fx:association extension="aaa bbb" description="MyApp Data Files"
      icon="MyApp.ico">
  </fx:association>
</fx:info>

<fx:bundleArgument>

説明

自己完結型アプリケーションの作成に使用されるバンドラの引数を指定します。各バンドラ・タイプに、独自の引数セットがあります。

親要素

パラメータ

属性 説明 タイプ 必須?

arg

バンドラ引数の名前。

String

はい

value

バンドラ引数の値。

String

はい

自己完結型アプリケーション・バンドラの引数

バンドラの各タイプ(macOS、LinuxおよびWindows)には、独自の引数のセットがあります。

一般的なバンドラ引数

dropinResourcesRoot

バンドラ固有のドロップイン・リソースを検索するディレクトリ。たとえば、macOSの場合、現在のディレクトリでInfo.plistファイルを検索するには、次を使用します。

<fx:bundleArgument arg="dropinResourcesRoot" value="."/>

ファイルが現在のディレクトリで見つかります: package/macosx/Info.plist

preferencesID

ユーザーがオーバーライドできるJVMオプションを確認するための<fx:preferences>要素のID。

macOSアプリケーション・バンドラ引数

icon

起動ツールおよびその他の支援ツールに使用するデフォルト・アイコンへのパス。ファイル形式は.icnsです。

mac.bundle-id-signing-prefix

プロパティが足りないバイナリがファイル(拡張子.plistを使用するplist)をリストしているか、既存の署名がバンドル内に見つかった場合に、署名付きバイナリに適用される接頭辞。

mac.category

アプリケーションのカテゴリ。カテゴリは、Apple Developer Webサイトにあるカテゴリ・リスト内に含まれている必要があります。

mac.CFBundleIdentifier

CFBundleIdentifierinfo.plistファイルに格納された値。この値は、グローバルに一意である必要があり、文字、数字、ドットおよびダッシュのみを含む必要があります。DNS順序の反転をお薦めします(例: com.example.application.my-application)。

mac.CFBundleName

Macメニュー・バーに表示されるアプリケーションの名前。16文字未満の名前をお薦めします。デフォルトは、<fx:application>要素のname属性です。

mac.CFBundleVersion

アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>要素のversion属性の値とは別の値を指定できます。version属性に有効な値が指定されていて、mac.CFBundleVersion引数が指定されていない場合、version属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。

mac.signing-key-developer-id-app

開発者IDまたはGatekeeper署名に使用する署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。

macOS DMG (ディスク・イメージ)バンドラ引数

licenseFile

バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスはパッケージ化されたアプリケーション・リソースに相対的です。

mac.CFBundleVersion

アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>要素のversion属性の値とは別の値を指定できます。version属性に有効な値が指定されていて、mac.CFBundleVersion引数が指定されていない場合、version属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。

mac.dmg.simple

AppleScriptコードの実行に依存するDMGカスタマイズ手順をスキップするかどうかを示すフラグ。trueに設定して、手順をスキップします。trueに設定されている場合、ディスク・ウィンドウにバックグラウンド・イメージがないため、アイコンが所定の位置に移動しません。systemWide引数もtrueに設定されている場合、ルート・アプリケーション・フォルダのシンボリック・リンクがDMGファイルに追加されます。systemWide引数がfalseに設定されている場合、アプリケーションのみがDMGファイルに追加され、デスクトップのリンクは追加されません。

macOS PKGバンドラ引数

licenseFile

バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスはパッケージ化されたアプリケーション・リソースに相対的です。

mac.CFBundleVersion

アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>要素のversion属性の値とは別の値を指定できます。version属性に有効な値が指定されていて、mac.CFBundleVersion引数が指定されていない場合、version属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。

mac.signing-key-developer-id-installer

開発者IDまたはGatekeeper署名に使用する署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。

Mac App Storeバンドラ引数

mac.app-store-entitlements

アプリケーションが動作する資格を含むファイルの場所。ファイルは、Appleによって指定されている形式である必要があります。ファイルへのパスは、絶対的な語で指定することも、Antファイルに相対的に指定することもできます。資格を指定しない場合、アプリケーションは、通常のアプレット・サンドボックスよりもより厳しいサンドボックスで動作し、ネットワーク・ソケットおよびすべてのファイルへのアクセスが拒否されます。

mac.CFBundleVersion

アプリケーションのバージョン番号は内部的に使用されます。値は1つ以上3つ以下の整数である必要があり、1.3や2.0.1のようにピリオド(.)で区切ります。<fx:application>要素のversion属性の値とは別の値を指定できます。version属性に有効な値が指定されていて、mac.CFBundleVersion引数が指定されていない場合、version属性の値が使用されます。どちらも指定されていない場合、100がバージョン番号として使用されます。このバージョンが既存のアプリケーションのアップグレードである場合、値は以前のバージョン番号より大きくする必要があります。

mac.signing-key-app

Mac App Storeのアプリケーション署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。

mac.signing-key-pkg

Mac App Storeのインストーラ署名キーの名前。Apple Developer Webサイトから標準のキーをインポートした場合、そのキーがデフォルトで使用されます。キーを識別できない場合、アプリケーションは署名されません。

Linuxバンドラ引数

icon

起動ツールおよびその他の支援ツールに使用するデフォルト・アイコンのパス。ファイル形式は.pngです。

linux.bundleName

作成するRPMまたはDEBパッケージの名前。

Windows EXEおよびMSIバンドラ引数

icon

起動ツールおよびその他の支援ツールに使用するデフォルト・アイコンのパス。ファイル形式は.icoです。

licenseFile

バンドラによって表示または記録される使用許諾契約(EULA)の場所。パスはパッケージ化されたアプリケーション・リソースに相対的です。

win.menuGroup

<fx:preferences>要素のmenu属性がtrueの場合、アプリケーションをインストールするメニュー・グループ。menufalseの場合、この引数は無視されます。

<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>

<fx:callback>

説明

ユーザー操作のカスタマイズに使用できるJavaScriptコールバックを定義します。

親要素

パラメータ

属性 説明 タイプ 必須?

name

コールバックのイベントの名前。

String

はい

refid*

--

参照

いいえ

* refidが使用される場合、他のパラメータは指定できません。

ネストした要素として受け入れるパラメータ

<TEXT>

<fx:callback>の使用例

例1   JavaScript関数をコールするコールバック

この例では、コールバックは、Webページに埋め込まれたアプリケーションのHTMLスプラッシュ画面を作成するために使用されます。イベントonGetSplashがトリガーされると、JavaScript関数customGetSplashが実行されます。

<fx:callbacks>
    <fx:callback name="onGetSplash">customGetSplash</fx:callback>
</fx:callbacks>
例2   JavaScriptが挿入されたコールバック

この例では、コールバックは、<fx:callback>要素自体でJavaScriptコードを使用して定義されます。

<fx:callbacks>
    <fx:callback name="onLoadHandler">
        function () {perfLog(0, "onLoad called");}
    </fx:callback>
</fx:callbacks>
例3   複数のコールバック
<fx:callbacks>
    <fx:callback name="onJavascriptReady">callAppFunction</fx:callback>
    <fx:callback name="onGetSplash">function(id) {}</fx:callback>
 </fx:callbacks>   

<fx:callbacks>

説明

ユーザー操作のカスタマイズに使用されるJavaScriptコールバックのコレクション。

親要素

パラメータ

属性 説明 タイプ 必須?

refid*

--

参照

いいえ

* refidが使用される場合、他のパラメータは指定できません。

ネストした要素として受け入れるパラメータ

<fx:callbacks>の使用例

<fx:callback>の例を参照してください。

<fx:fileset>

説明

標準的なAnt FileSetタイプの拡張子。選択されたファイルのセットに関するオプションのメタ情報を指定するための手段を提供します。これには、次のものが含まれます。

  • リソースのタイプ(type属性を参照)

  • このリソースが適用可能なオペレーティング・システムおよびアーキテクチャ

  • このリソースが必要なタイミング。ロード順序の最適化に役立ちます。

タイプに応じて、囲むタスクによってリソースが使用されない場合があります。

タイプ"jar"のファイルセットは、クラスパスに追加されるJARファイルのセットを含む必要があります。

タイプ"native"のリソースは、ネイティブ・ライブラリのセットを含むJARファイルである必要があります。また、ほとんどの場合、このリソースのオペレーティング・システムおよびアーキテクチャを設定することは意味があります。

タイプ"jnlp"のリソースは、外部のJNLP拡張子を定義するJNLPファイルを含む必要があります。

タイプ"license"のファイルセットは、任意のファイルを含めることができますが、実際に使用するときは追加の制限事項が適用されることがあります(たとえば、Macではプレーン・テキスト・ファイルである必要があり、WindowsではRTFである必要があるなど)。

タイプ"data"のファイルセットは、任意のファイルを含めることができます。

パラメータ

属性 説明 タイプ 必須?

arch

(<fx:fileset><fx:resources>の下でネストされる場合のみ使用されます。)

これらのリソースに対して適切なアーキテクチャを指定します。

String

いいえ

デフォルトはanyです。

dir

タスクで使用されるファイルを含むルート・ディレクトリを指定します。

String

はい

excludes

タスクから除外されるdirディレクトリのファイルを指定します。複数のファイルと一致するワイルド・カードとしてアスタリスク(*)を使用します(例: *test*)。

String

いいえ

includes

タスクに含まれるdirディレクトリのファイルを指定します。複数のファイルと一致するワイルド・カードとしてアスタリスク(*)を使用します(例: **/*.jar)。

String

いいえ

os

(<fx:fileset><fx:resources>の下でネストされる場合のみ使用されます。)

これらのリソースに対して適切なオペレーティング・システムを指定します。

String

いいえ

デフォルトはanyです。

requiredFor

(<fx:fileset><fx:resources>の下でネストされる場合のみ使用されます。)

リソースが必要なタイミングを定義します(ロードの優先度に影響します)。サポートされる値は次のとおりです。

  • preloader - プリローダーの起動に必要なリソース(最初に実行するもの)。

  • startup - アプリケーションの起動に必要なリソース。

  • runtime - リソースはアプリケーションの起動には重要ではありませんが、後で必要になる可能性があります。

String

いいえ

デフォルトはstartupです。

type

(<fx:fileset><fx:resources>の下でネストされる場合のみ使用されます。)

セット内のリソースのタイプ。サポートされる値は次のとおりです。

  • auto (autodetectの場合)

  • data

  • jar

  • jnlp

  • license

  • native (ネイティブ・ライブラリを含むJARファイルの場合)

  • icon

String

いいえ

デフォルトは拡張子に基づいて推測されます。

* refidが使用される場合、他のパラメータは指定できません。

ネストした要素として受け入れるパラメータ

なし(標準的なAnt要素を除く)。

<fx:htmlParam>

説明

HTMLページからの埋込みまたはWeb Startアプリケーションに渡されるパラメータ。パラメータの値は、JavaScriptを使用して実行時に計算できます。

パラメータ

属性 説明 タイプ 必須?

escape

文字列リテラル(true)またはJavaScript変数(false)として渡される値のために値を解釈する方法を定義します。

Boolean

いいえ

デフォルトはtrueで、これは値が文字列リテラルとして処理されることを意味します。

name

HTMLページからの埋込みまたはWeb Startアプリケーションに渡されるパラメータの名前。

String

はい

value

パラメータの値。値がパラメータとして渡される必要があるJavaScript変数の名前になることもあります。

JavaScript変数の場合、escapeがfalseに設定されていることを確認します。

String

はい

ネストした要素として受け入れるパラメータ

なし

<fx:htmlParam>タスクの使用例

例1   HTMLページから渡される様々なパラメータ
<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:icon>

説明

アイコンを<fx:deploy>タスクに渡します(スプラッシュ画面のイメージ以外)。

この要素で指定されたアイコンは、Web Startおよびデスクトップ・アプリケーションに使用されます。

JavaFX 2.2では、タイプdefaultのアイコンのみが、自己完結型アプリケーションに使用されます。自己完結型アプリケーションのアイコンのカスタマイズ方法の詳細は、ドロップイン・リソースを使用したパッケージのカスタマイズを参照してください。

親要素

パラメータ

属性 説明 タイプ 必須?

depth

イメージの色深度(ピクセル当たりのビット数)。一般的な値は、8、16および24です。

String

いいえ

href

イメージの場所。

自己完結型アプリケーションの場合、サポートされるグラフィック形式は、オペレーティング・システムに応じて異なります。

  • macOS: .icns

  • Linux: .png

  • Windows: .ico

自己完結型アプリケーションの独自のアイコンを指定する場合、属性heightwidthおよびdepthの値は使用されません。カスタム・アイコンのサイズおよび色深度がオペレーティング・システムが必要とするものに対応していることを確認します。

Web Startアプリケーションの場合、サポートされるグラフィック形式は、.gif.jpg.pngおよび.icoです。

String

はい

height

イメージの高さ(ピクセル)。

String

いいえ

kind

アイコン・タイプ。サポートされる値は次のとおりです。

  • default

  • disabled

  • rollover

  • selected

  • shortcut

Web Startアプリケーションの場合、この属性は、JNLPファイルのicon要素のkind属性に対応します。

デスクトップ・アプリケーションでは、この属性が指定されていないか、defaultとして設定されている場合、指定されるアイコンは、起動ツール(Windowsでは.exeファイル、macOSでは.appファイル)のアイコン、タスクバーまたはドック内のアイコン、および一部のインスタンスではインストーラ・パッケージ(DMGパッケージなど)のアイコンです。

String

いいえ

デフォルト値はdefaultです。

width

イメージの幅(ピクセル)。

String

いいえ

ネストした要素として受け入れるパラメータ

なし。

<fx:icon>の使用例

例1   <fx:icon>の使用
<fx:info title="Sample application">
    <!-- icon to be used by default for anything but splash -->
    <fx:icon href="shortcut.ico" kind="shortcut"
            width="32" height="32" depth="8"/> 
</fx:info> 

<fx:info>

説明

ユーザーへのアプリケーションの説明。これらの詳細は、システムのダイアログ・ボックスに表示されます(表示する必要がある場合)。

親要素

パラメータ

属性 説明 タイプ 必須?

category

アプリケーション・カテゴリ。指定されたカテゴリのアプリケーションへのリンクを作成します。値のセマンティックスは、パッケージの形式に応じて異なります。

次に例を示します。

  • Linuxでの自己完結型アプリケーションの場合、アプリケーションがリストされるアプリケーション・メニュー・カテゴリを定義するために使用されます。

  • Mac: info.plistにキーが作成されます。
    <key>LSApplicationCategoryType</key>
    <string>unknown</string>
  • Windowsでは、グループを作成します。たとえば、"My Music"を指定した場合、アプリケーションはC:\ProgramData\Microsoft\Windows\Start Menu\Programs\My Musicに作成されます。

String

いいえ

copyright

短いコピーライト文。

String

いいえ

description

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

String

いいえ

license

ライセンス・タイプ(たとえばGPL)。JavaFX 2.2以降、この属性はLinuxバンドルでのみ使用されます。

String

いいえ

title

アプリケーションのタイトル。

String

はい

vendor

アプリケーションのプロバイダ。

String

はい

ネストした要素として受け入れるパラメータ

<fx:info>の使用例

例1   <fx:deploy>タスクで使用される<fx:info>パラメータ
<fx:info vendor="Uncle Joe" description="Test program"/>

<fx:jvmarg>

説明

アプリケーションを実行するJVMで設定されるJVM引数。複数回使用できます。値に空白文字が含まれる場合、さらに値をエスケープする必要はありません。

親要素

パラメータ

属性 説明 タイプ 必須?

value

JVM引数の値。

String

はい

ネストした要素として受け入れるパラメータ

なし。

<fx:jvmarg>の使用例

例2「JVMオプションを指定する<fx:platform>パラメータ」を参照してください。

<fx:jvmuserarg>

説明

アプリケーションを実行するJVMで設定される、ユーザーがオーバーライド可能なJVM引数。複数回使用できます。値に空白文字が含まれる場合、さらに値をエスケープする必要はありません。

親要素

パラメータ

属性 説明 タイプ 必須?

value

JVM引数の値。

String

はい

ネストした要素として受け入れるパラメータ

なし。

<fx:jvmuserarg>の使用例

例2「JVMオプションを指定する<fx:platform>パラメータ」を参照してください。

<fx:limit-modules>

説明

参照可能なモジュールのセットを、指定されたリストの推移閉包のモジュールおよびメイン・モジュール(存在する場合)、さらに、<fx:add-modules>要素で指定されたその他のモジュールに制限します。

親要素

パラメータ

属性 説明 タイプ 必須?

value

参照可能なモジュールの領域を制限するために使用するモジュールのカンマ区切りのリスト。

String

いいえ

ネストした要素として受け入れるパラメータ

なし。

<fx:limit-modules>の使用例

例1   参照可能なモジュールをjdk.packager.servicesおよびjavafx.controlsに制限
<fx:limit-modules value="jdk.packager.services,javafx.controls"/>

<fx:module-path>

説明

生成されたランタイムに含めるアプリケーション・モジュールへのパス。

親要素

パラメータ

属性 説明 タイプ 必須?

value

モジュールの場所のリスト。LinuxおよびmacOSの場合、コロン(:)を使用してパスを区切ります。Windowsではセミコロン(;)を使用します。

String

いいえ

ネストした要素として受け入れるパラメータ

なし。

<fx:module-path>の使用例

例1   Linuxで、${java.home}/../images/jmodsおよび${build.dir}/modulesのアプリケーション・モジュールを検出
<fx:runtime>
   <fx:module-path value="${java.home}/../images/jmods:${build.dir}/modules"/>
</fx:runtime>

<fx:param>

説明

アプリケーションに渡されるパラメータ(アプリケーション・パッケージに埋込み)。

このタグは、自己完結型アプリケーションを含むスタンドアロン・アプリケーションには影響しません。

パラメータ

属性 説明 タイプ 必須?

name

パラメータの名前。

String

はい

value

パラメータの値。

String

はい

ネストした要素として受け入れるパラメータ

なし。

<fx:param>タスクの使用例

例1   様々なパラメータのタイプの受渡し
<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> 

<fx:permissions>

説明

アプリケーションで必要なセキュリティ権限の定義。デフォルトでは、アプリケーションはサンドボックスで実行されます。高い権限を要求するには、アプリケーションJARファイルへの署名が必要です。

このオプションは、自己完結型アプリケーションを含むスタンドアロン・アプリケーションには影響しません。

パラメータ

属性 説明 タイプ 必須?

elevated

falseに設定した場合、アプリケーションはサンドボックスで実行されます。

Boolean

いいえ

デフォルトはfalseです。

ネストした要素として受け入れるパラメータ

なし。

<fx:permissions>の使用例

例1   高い権限でのアプリケーションの実行
<fx:permissions elevated="true"/>

<fx:platform>

説明

アプリケーションのプラットフォーム要件を定義します。

パラメータ

属性 説明 タイプ 必須?

refid*

--

参照

いいえ

j2se

アプリケーションで必要なJREの最小バージョン。

String

いいえ

デフォルトは、JavaFXをサポートしている任意のJREです。

* refidが使用される場合、他のパラメータは指定できません。

ネストした要素として受け入れるパラメータ

<fx:platform>の使用例

例1   バージョンを指定する<fx:platform>パラメータ

この例では、アプリケーションにJREバージョン9.0以降が必要です。

<fx:platform j2se="9.0"/>
例2   JVMオプションを指定する<fx:platform>パラメータ

この例では、アプリケーションは、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>
例3   ユーザーがオーバーライド可能なJVMオプションを指定する<fx:platform>パラメータ

この例では、ヒープ・サイズのデフォルト値として-Xmx768mが渡されます。ユーザーは、ユーザー構成ファイルでこの値をオーバーライドできます。

            <fx:platform>
              <fx:jvmuserarg name="-Xmx" value="768m" />
            </fx:platform>

<fx:preferences>

説明

アプリケーションのデプロイメント・プリファレンス。プリファレンスを表すことはできますが、たとえば次の場合のように、必ずしも満たされているわけではありません。

  • あるプリファレンスが特定の実行モードでサポートされていない場合、パッケージャはそれを無視することがあります。

  • あるプリファレンスがサポートされていない場合、JREはそれを無視することがあります。

  • たとえば、ユーザーがデスクトップ・ショートカットを作成できるかどうかを求められた場合、要求を拒否することがあります。

親要素

パラメータ

属性 説明 タイプ 必須?

install

Installのtrueは、アプリケーションがシステムにインストールされることを意味し、falseは、アプリケーションが現在のユーザーのみにインストールされることを意味します。

自己完結型アプリケーションの場合、trueは、アプリケーション・パッケージがシステム全体のインストールを実行する必要がある開発者プリファレンスを示します。falseの場合、パッケージはユーザーごとのインストール用に生成されます。

パッケージャが要求されたパッケージ形式に対して異なるタイプのインストール・パッケージをサポートしていない場合、この値は無視されます。

Boolean

いいえ

Web Startおよび埋込みアプリケーションの場合、デフォルトはfalseです。

自己完結型アプリケーションの場合、デフォルト値は様々なパッケージ形式によって異なります。

installdirChooser

trueの場合、アプリケーションをインストールするディレクトリを選択するためのダイアログがユーザーに表示されます。falseの場合、アプリケーションのインストール場所を決定するためにinstall属性が使用されます。

Boolean

いいえ

デフォルトはfalseです。

menu

trueの場合、アプリケーションは、システムのアプリケーション・メニューへのエントリの追加を要求します。

Boolean

いいえ

デフォルトはfalseです。

refid*

--

参照

いいえ

shortcut

trueの場合、アプリケーションは、デスクトップ・ショートカットの作成を要求します。

Boolean

いいえ

デフォルトはfalseです。

* refidが使用される場合、他のパラメータは指定できません。

ネストした要素として受け入れるパラメータ

なし。

<fx:preferences>の使用例

例1   デスクトップ・ショートカットを追加する<fx:preferences>パラメータ

この例では、デスクトップ・ショートカットを作成する要求を示します。

<fx:preferences id="p1" shortcut="true"/>
例2   インストール済とマークする<fx:preferences>パラメータ

この例では、次の操作を行います。

  • アプリケーションをアプリケーション・メニューに追加し、インストール済としてマークする(つまり、アプリケーションが「プログラムの追加と削除」にリストされる)Webデプロイメント記述子の作成を要求します。

  • 自己完結型バンドルが作成された場合、システム全体にインストールされ、アプリケーション・エントリをアプリケーション・メニューに作成します。

<fx:preferences shortcut="false" install="true" menu="true"/>
例3   <fx:preferences>パラメータへのrefidの使用

この例では、例1「デスクトップ・ショートカットを追加する<fx:preferences>パラメータ」の<fx:preferences>パラメータへの参照を使用して、ショートカットを作成します。

<fx:resource refid="p1"/>

<fx:property>

説明

オプションの要素で、複数回使用できます。アプリケーションを実行するJVMで設定されるJavaプロパティ。

親要素

パラメータ

属性 説明 タイプ 必須?

name

設定するプロパティの名前。

String

はい

value

設定するプロパティの値。

String

はい

ネストした要素として受け入れるパラメータ

なし。

<fx:resources>

説明

アプリケーションで使用するリソースのコレクション。一連のJavaFXファイルセット・フィルタとして定義されます。idまたはrefidを使用して再利用できます。

パラメータ

属性 説明 タイプ 必須?

id

refid属性を使用した別の要素から参照できるID。

String

いいえ

refid*

--

参照

いいえ

* refidが使用される場合、他のパラメータは指定できません。

ネストした要素として受け入れるパラメータ

<fx:resources>の使用例

例1   idおよび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"/>
例2   拡張記述子の<fx:resources>の使用

署名および無署名の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>

追加の例は自己完結型アプリケーションのパッケージ化にあります。

<fx:runtime>

説明

自己完結型アプリケーション用に生成されるランタイム。jlinkツールを使用して、アプリケーションの実行に必要なパッケージのみを含むランタイムが生成され、オプションでjava.exeなどのコマンド行ツールを含めることができます。

JDK 9のJavaパッケージャは、JDK 9ランタイム・イメージを生成します。JDK 8またはJDK 7 JREをアプリケーションとパッケージ化するには、JDK 8 Javaパッケージャを使用します。

親要素

パラメータ

属性 説明 タイプ 必須?

strip-native-commands

trueに設定した場合、java.exeなどのコマンド行ツールは、生成されたランタイムから削除されます。falseに設定した場合、コマンド行ツールは、生成されたランタイムに含まれます。

Boolean

いいえ

デフォルトはtrueです。

ネストした要素として受け入れるパラメータ

<fx:runtime>の使用例

例1   コマンド行ツールを含むランタイムの生成
<fx:runtime strip-native-commands="false"/>
例2   jdk.packager.servicesおよびjavafx.controlsのモジュールをランタイムに含める
<fx:runtime>
  <fx:add-modules value="jdk.packager.services,javafx.controls"/>
</fx:runtime>
例3   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>

<fx:secondaryLauncher>

説明

自己完結型アプリケーションのセカンダリ・エントリ・ポイントおよびモジュラ・アプリケーションのメイン・モジュールを識別します。スタンドアロン・アプリケーション、Webページに埋め込まれたアプリケーション、ブラウザから起動されたアプリケーションでは、このパラメータは無視されます。

このパラメータは、WindowsおよびLinuxアプリケーションに対してのみ有効です。

親要素

パラメータ

属性 説明 タイプ 必須

appDescription

アプリケーションの簡潔な説明。

String

いいえ

icon

アプリケーションのアイコン・ファイルのパス。

String

いいえ

mainClass

メイン・アプリケーション・クラスの修飾名。

String

いいえ

menu

アプリケーションが「スタート」メニューに追加されているかどうかを示すフラグ。

menu属性またはshortcut属性のどちらかをtrueに設定する必要があります。どちらの属性もfalseに設定されている場合、アプリケーションが「スタート」メニューに追加されます。

Boolean

いいえ

デフォルトはtrueです。

module

モジュラ・アプリケーションのメイン・モジュール。これは、アプリケーションの初期モジュール・グラフを構築する際、デフォルトのルート・モジュールとして使用されます。

String

はい(モジュラ・アプリケーションをバンドルする場合)。アプリケーションがモジュラでない場合は無効です。

name

アプリケーションの起動に使用するランチャの名前。

String

はい

shortcut

アプリケーションのショートカットがデスクトップに追加されているかどうかを示すフラグ。

menu属性またはshortcut属性のどちらかをtrueに設定する必要があります。どちらの属性もfalseに設定されている場合、アプリケーションが「スタート」メニューに追加されます。

Boolean

いいえ

デフォルトはfalseです。

title

アプリケーションのタイトル。

String

いいえ

vendor

アプリケーションを提供したベンダーの名前。

String

いいえ

version

アプリケーションのバージョン。

String

いいえ

ネストした要素として受け入れるパラメータ

<fx:secondaryLauncher>の使用例

例1   セカンダリ・ランチャを使用した、非モジュラ・アプリケーションのタスクのデプロイ

例3「セカンダリ・ランチャでの<fx:deploy>タスク」を参照してください。

例2   モジュラ・アプリケーションのセカンダリ・ランチャ
<fx:secondaryLauncher name="HelloWorldModular"
    module="hello.world"
    mainClass="com.sample.app.HelloWorld">
</fx:secondaryLauncher>

<fx:splash>

説明

スプラッシュ画面として使用されるイメージの場所を渡します。現在、カスタムのスプラッシュ・イメージはWeb Startアプリケーションにのみ渡すことができ、このパラメータの使用は、スタンドアロン・アプリケーションやWebページに埋め込まれたアプリケーションには影響しません。

親要素

パラメータ

属性 説明 タイプ 必須?

href

イメージの場所。サポートされるグラフィック形式は、JPEG、GIFおよびPNGです。

String

はい

mode

デプロイメント・モード。サポートされる値は次のとおりです。

  • any (しかし、現在はWeb Startモードでのみ機能します)

  • webstart

String

いいえ

デフォルト値はanyです。

ネストした要素として受け入れるパラメータ

なし。

<fx:splash>の使用例

例1   <fx:splash>の使用

次の例では、様々なタイプのスプラッシュ・イメージが渡されます。

<fx:info title="Sample application">
    <fx:splash href="http://my.site/custom.gif"/> 
</fx:info> 

<fx:template>

説明

前処理を行うテンプレート。テンプレートは、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

はい

tofile

出力ファイル(前処理後)。

File

いいえ

デフォルトは入力ファイルと同じです。

ネストした要素として受け入れるパラメータ

なし

<fx:template>の使用例

例1   <fx:deploy>タスクで使用される<fx:template>パラメータ

この例では、入力ファイルと出力ファイルの両方が指定される<fx:template>パラメータを示します。

<fx:template file="App_template.html" tofile="App.html"/>
例2   コンテキスト内の<fx:template>パラメータ
<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>