Liberica JDKのインストール方法 / OpenJDKとOpenFXでJavaFX開発環境を作る
Show this page in English
もくじ
「エラー: モジュールが見つかりません: javafx.controls」を解決するために
JavaがOracleの手から離れ、JavaFXが分離してから数年。 JavaとJavaFXの開発環境はすっかり様変わりしてしまいました。 最新のJavaFX開発環境を構築するにあたり、最初は正攻法(?)で、 OpenJDK と OpenFX を個別にダウンロードして環境を構築しましたが、どうにもビルド時(javac実行時)のエラー: モジュールが見つかりません: javafx.controls
エラー1個
を消すことができませんでした。
いろいろ調べる中で、最初からOpenFXが組み込まれているJDKとして、 BellSoft社 が提供している Liberica JDK の存在を知り、こちらを試してみました。 するとこのエラーがあっさり解決しました。
このページでは、このLiberica JDKを使って、JavaFXのサンプルコード"HelloFX.java"をコンパイル、実行するまでの手順を解説します。
OpenJDKオフィシャルサイト
OpenFXオフィシャルサイト
BellSoft社オフィシャルサイト
Liberica JDKオフィシャルサイト
JDKインストールの事前準備
Liberica JDKのインストールには、特に事前準備などは必要ありません。 ただし、過去にも他のJava JDKを使用していた場合は、事前にアンインストールしておいたほうが良いと思います。[スタート]-[設定]-[アプリ]の画面にJDKの名前があるときは、ここから[アンインストール]しておきます。 手動でインストールした場合は、 Windowsのシステム環境変数 "Path"と"JAVA_HOME", "PATH_TO_FX"を整理しておきます。
環境変数"Path"の中に他のJava JDKへのパスが残っているときは、その部分のみを削除しておきます。
環境変数"JAVA_HOME", "PATH_TO_FX"が定義されているときは、これを削除しておきます。
その他JDK, JavaFX関連の環境変数を定義していたときは、それを削除しておきます。
複数のJDKを使い分けたいときは、各JDKのインストールフォルダは残したままで、上記のシステム環境変数を編集することによって切り替えます。
Windowsシステム環境変数の確認・変更方法
Liberica JDKのダウンロード
Liberica JDK ダウンロードページ
"MSI"はインストーラー付きのモジュールです。 自動的にインストールフォルダが選択され、 環境変数の設定 も行われます。 "bellsoft-jdk17.0.6+10-windows-amd64-full.msi"といった名前のファイルがダウンロードできます。
"ZIP"はJDKのインストールフォルダーがZIP圧縮されたものです。 任意のフォルダーに展開したい場合はこちらも便利です。ただし 環境変数の設定 は手動で行う必要があります。 "bellsoft-jdk17.0.6+10-windows-amd64-full.zip"といった名前のファイルがダウンロードできます。
Windowsシステム環境変数の確認・変更方法
Liberica JDKのインストール
デフォルトのインストール先は "C:\Program Files\BellSoft\LibericaJDK-17-Full" です。
もしインストール先を変更したいときは、"Browse"ボタンをクリックして、新たなインストール先を指定してください。
JDKのインストール結果を確認する
JDKが正しくインストールされているか、確認しておきましょう。 コンソールを開いて
java -version
と入力します。
図のようにJavaのバージョンが表示されれば正しくインストールされています。
もうjavac
コマンドを使って、javaプログラムのコンパイルができるはずです。
ちなみに、ここで使用しているWindowsコンソールプログラムは ConEmu です。
ConEmuオフィシャルサイト
図のように 環境変数 がセットされていることを確認します。 JDKを使用するのに必要な環境変数は"JAVA_HOME"と"Path"の2つです。
"JAVA_HOME"がJDKのインストールフォルダを指し、 "Path"の先頭にはインストールフォルダの下の"bin"へのパスが追加されていることを確認します。
"ZIP"形式のモジュールを手動でインストールした場合は、これらの環境変数も手動で設定します。
Liberica JDKにはJavaFXが組み込まれているので、OpenFXを個別にインストールした時には必要であった環境変数"PATH_TO_FX"を設定する必要はありません。
Windowsシステム環境変数の確認・変更方法
JavaFXのサンプルプログラムをコンパイル・実行する
OpenFXオフィシャルサイトを開き、上のメニューから"Documentation"を選び、画面中央左から"Getting Started with JavaFX"をクリックします。
OpenFXオフィシャルサイト
"HelloFX.java"の配布サイト (github)
javac HelloFX.java
と入力します。
この図のように、何もエラーメッセージが表示されなければ、コンパイル完了です。
ソースコードを保存したフォルダには、クラスファイル"HelloFX.class"が生成されているはずです。
Liberica JDKにはJavaFXが組み込まれているので、OpenFXを個別にインストールした時のように、コマンドラインに
--module-path %PATH_TO_FX% --add-modules javafx.controls
を指定する必要はありません。
java HelloFX
と入力すると、サンプルプログラムが起動します。
この図のようなウインドウが開き、その画面の中央にJavaとJavaFXのバージョンが表示されます。
実行時エラー「JavaScript script engine is disabled」を解決するために
JavaFXでは、FXMLファイル内にJavaスクリプトを記述することができます。 しかしJavaバージョン15以降、スクリプトエンジン"Nashorn"が削除されました。 このため、FXMLファイル内にJavaスクリプトが記述されたJavaプログラムを実行すると、次のようなエラーが表示されます。javafx.fxml.LoadException: JavaScript script engine is disabled.
これを回避するには、別途Javaスクリプトエンジンをインストールする必要があります。
JDKと親和性の高いJavaスクリプトエンジンには、下記があります。
Windowsシステム環境変数の確認・変更方法
任意の行を選んで「編集」をクリックすると、その行が編集できます。 「上へ」「下へ」をクリックすると、その行の位置が変更できます。 項目の優先順位を変更することができます。
「テキストの編集」をクリックすると、上の「新規」の画面と同様の表示になります。 すべての項目が";"でつながれた状態で編集できます。