Java Platform, Standard Editionデプロイメント・ガイド
目次      

2 はじめに

このトピックでは、JavaおよびJavaFXアプリケーションのデプロイの基本について説明します。

この節の内容は以下のとおりです。

2.1 基本的な手順

アプリケーションを公開する準備はできていますか。次の基本的なデプロイメントの手順に従います。

  1. ユーザーによるアプリケーションへのアクセスおよびアプリケーションの実行方法を決定します。

    アプリケーションは、ユーザーのデスクトップでのデプロイ、Webページへの埋込み、またはブラウザからの起動が可能です。

  2. アプリケーション・パッケージを作成します。

    アプリケーション・パッケージは、アプリケーションの実行に必要なJARファイル、およびWebページに埋め込まれたりブラウザから起動されるアプリケーションのデプロイメント記述子またはJNLPファイルで構成されます。アプリケーションをWebページに埋め込んだりブラウザから起動したりする場合、有効な署名証明書を使用してJARファイルに署名する必要があります。自己完結型アプリケーション・パッケージにも、必要なJREを含めます。

  3. アプリケーションをWebページに埋め込んだりブラウザから起動したりする場合、Webページを設定します。

    Webページには、ページに埋め込まれたアプリケーションを実行するためのHTML要素またはJavaScriptコードが必要です。ブラウザからアプリケーションを起動するには、JavaScriptコードが必要です。Javaパッケージ化ツールによって、Webページにコピーできる、両方のタイプを実行するためのJavaScriptコードが生成されます。

  4. ユーザーがアクセスする場所にパッケージをコピーします。

    Webページに埋め込まれたりブラウザから起動されるアプリケーションには、通常、Webサーバーが使用されます。デスクトップ・アプリケーションは、ユーザーに直接配信したり、アプリケーション・ストアを介して使用可能にしたりすることができます。

2.3 パッケージの作成

デフォルトでは、Javaパッケージ化ツールにより、アプリケーションの実行に必要な次のファイルのコレクションが生成されます。

  • アプリケーションJARファイル(または大規模なアプリケーションの複数のJARファイル)

    Webページに埋め込まれたりブラウザから起動されるアプリケーションには、有効な署名証明書を使用して署名する必要があります。パッケージ化ツールまたはjarコマンドは、JARファイルへの署名に使用できます。

  • デプロイメント記述子を含むJNLPファイル

    デプロイメント記述子は、アプリケーション・コンポーネント、プラットフォーム要件および起動ルールを記述するXMLファイルです。

  • Webページからアプリケーションの埋込みや起動を行うJavaScriptコードを含むHTMLファイル

アプリケーションは、プラットフォーム固有の自己完結型アプリケーションとしてパッケージ化することもできます。自己完結型アプリケーションには、すべてのアプリケーション・リソース、JREおよび起動ツールが含まれます。これらのアプリケーションでは、オペレーティング・システムのネイティブ・アプリケーションと同じインストールおよび起動操作が提供されます。

自己完結型アプリケーションは、zipファイルまたはインストール可能なパッケージとして配布できます。Windowsの場合はEXEまたはMSI、OS Xの場合はDMG、PKGまたはmac.appStore、Linuxの場合はRPMまたはDEBです。

自己完結型アプリケーションには次の利点があります。

  • ターゲット・プラットフォームのネイティブ・アプリケーションと似ています。

    ユーザーは、使い慣れたインストーラでアプリケーションをインストールし、通常の方法で起動します。

  • 互換性が煩わしくありません。

    アプリケーションで使用されるJREのバージョンは、アプリケーション開発者によって制御されます。

  • JREをインストールする必要なしに、新しいシステムに簡単にデプロイされます。

  • ZIPまたはユーザー・レベルのインストーラを使用すると、管理権限がなくてもデプロイメントが行われます。

詳細は、第7章「自己完結型アプリケーションのパッケージ化」を参照してください。

2.3.1 パッケージ化ツール

アプリケーションのパッケージ化には、次の3つの異なるツールが使用できます。

Javaのパッケージ化の詳細は、第5章「パッケージ化の基本」を参照してください。

2.3.1.2 Antタスク

別のIDEを使用している場合、JDKに含まれているAntタスクを使用して、ビルド後のステップとしてJavaパッケージ化を追加できます。例2-1は、JavaFXの例Colorful CirclesのAntパッケージ・タスクを示しています。Colorful Circlesの完全な例は、ColorfulCircles.zipファイルをダウンロードします。

nativeBundles="all"属性を<fx:deploy> Antタスクに追加すると、使用可能なすべてのパッケージ(スタンドアロン・アプリケーション・パッケージ、実行中のプラットフォームに応じた1つ以上の自己完結型アプリケーション・パッケージ、およびWebデプロイメント・パッケージ)が作成されます。インストール可能なパッケージは、パッケージ化の際に使用可能なサード・パーティ製のソフトウェアに基づいて作成されます。たとえば、Windows上にInno SetupとWiXの両方がある場合、3つのパッケージ(アプリケーションが含まれるフォルダ、.exeインストーラ・ファイルおよび.msiインストーラ・ファイル)を取得します。詳細は、第5章「パッケージ化の基本」を参照してください。nativeBundles属性を含む単純なAntタスクを、例2-1に示します。

アプリケーションをWebページに埋め込んだりブラウザから起動したりする場合、必要なJARマニフェスト属性を<fx:jar>タスクおよび<fx:signjar>タスクに含めます。

2.3.1.3 Javaパッケージャ・コマンド行ツール

Antを使用できず、コマンド行ツールを使用する場合、JDKに付属のJavaパッケージャ・ツールを使用します。第9章「Javaパッケージャ・ツール」で説明されているように、Javaパッケージャ・ツールには、アプリケーションをパッケージ化するためのいくつかのコマンドがあります。迅速なテスト・ビルドを行うには、例2-2に示すようなjavapackager -makeallコマンドを使用できます。このコマンドに簡単なオプションを追加すると、ソース・コードがコンパイルされ、javapackager -createjarコマンドとjavapackager -deployコマンドが結合されます。

コマンドは単純なプロジェクトを迅速にビルドすることのみを目的としているため、-makeallコマンドがサポートしているコマンドの動作をカスタマイズするオプションは限られています。-makeallコマンドでは、入力ファイルと出力ファイルについて次のことを前提としています。

  • ソース・ファイルおよび他のリソース・ファイルは、メイン・プロジェクト・ディレクトリの下のsrcという名前のディレクトリに配置する必要があります。

  • 作成されるパッケージは、常にdistという名前のディレクトリに生成され、ファイル名はすべてdistという接頭辞で始まります。

  • デフォルトでは、-makeallコマンドは自己完結型アプリケーション・パッケージをビルドしようとします。これが不可能な場合、他の実行モードにデプロイできるように、JAR、HTMLおよびJNLPファイルが生成されます。


注意:

Webページに埋め込まれたJavaFXアプリケーションの場合、ステージの幅および高さを常に指定する必要があります。

アプリケーションが稼働する準備ができている場合、-makeallコマンドではなく-createjarおよび-deployコマンドを使用します。-createjarおよび-deployコマンドには、かなり多くのオプションがあります。アプリケーションをWebページに埋め込んだりブラウザから起動したりする場合、-signjarコマンドも使用します。たとえば次のように、-deployコマンドに-nativeオプションを追加して、自己完結型アプリケーション・パッケージを作成できます。

javapackager -deploy -native -outdir packages -outfile ColorfulCircles 
    -srcdir dist -srcfiles ColorfulCircles.jar 
    -appclass colorfulcircles.ColorfulCircles 

詳細は、5.3.1項「Javaパッケージ化ツール」を参照してください。


ヒント:

オプションの柔軟性をさらに高くするには、Javaパッケージャ・ツールではなくAntタスクを使用します。

2.4 Webページの作成

アプリケーションをWebページに埋め込んだりブラウザから起動したりする場合、ユーザーがアプリケーションにアクセスできるWebページを設定する必要があります。Webページに埋め込まれたアプリケーションを実行するには、Java Plug-inを使用します。ブラウザから起動されたアプリケーションを実行するには、Java Web Startを使用します。

Webページに埋め込まれ、実行にJava Plug-Inを使用するアプリケーションには、<applet>要素か<object>要素、またはJavaScriptコードを使用できます。ブラウザからアプリケーションを起動するためにJava Web Startを呼び出すリンクまたはボタンを作成するには、JavaScriptコードを使用します。Javaパッケージ化ツールによって、Webページにコピーできる、両方のタイプを実行するためのJavaScriptコードが生成されます。

パッケージ化ツールによって生成されるHTMLページは、アプリケーションの単純なテスト・ページです。これには、アプリケーションの起動および埋込みを行うサンプルJavaScriptコードが含まれており、これを自身のWebページにコピーできます。手動でコピーを行わないようにするには、JavaScriptコードを既存のWebページに挿入するためのアプリケーションのパッケージ化のHTMLテンプレートを使用することを検討します。詳細は、5.7.4項「Webページ・テンプレート」を参照してください。

2.5 アプリケーションの配布

使用中のアプリケーション・パッケージおよびWebページがある場合、それらを適切な場所にコピーして、アプリケーションをユーザーが使用できるようにします。

  • アプリケーションをWebページに埋め込んだりブラウザから起動したりする場合、パッケージおよびWebページを、それらがロードされるWebサーバーにコピーします。

  • アプリケーションがデスクトップ・アプリケーションである場合、ユーザーがダウンロードする場所にアプリケーションをコピーします。自己完結型アプリケーションでは、インストール可能なパッケージおよび必要なJREが提供され、ユーザーにとってアプリケーションのインストールおよび実行が容易になります。

目次      

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