OpenJDK 11にJavaFXを導入する
原链接:OpenJDK 11にJavaFXを導入する (osdn.jp)
Java 11 在2018 年 9 月 25 日发布正式版。JDK从这个版本开始不再附带JavaFX。要开发JavaFX就要用其它的方法再导入OpenJFX。
本文介绍了Windows平台下将 OpenJDK 引入 OpenJFX 的方法。
Java 11是不包含JavaFX的 JDK (Java Development Kit),这是比较大的一个变量。Oracle 与有偿提供商用Oracle JDK不同、免费使用的JDK是 Oracle OpenJDK 。
Oracle OpenJDK offers the same features and performance as Oracle JDK under the GPL license.
OpenJDK にも有償の Oracle JDK と同じ機能とパフォーマンスが提供されています。というわけで、 今回は JDK として Oracle OpenJDK を使用します。
OpenJFX の Windows 用バイナリは Gluon からダウンロードできます。
JavaFX Windows SDK
と JavaFX Windows jmods
の 2 つのファイルをダウンロードしてください。
ダウンロードした OpenJDK と OpenJFX のファイルを適当なフォルダー (たとえば C:¥temp
など) に保存します。
JDK から分離されたことで JavaFX の扱い方がいままでよりも難しくなりました。OpenJFX に PATH を通したり、 アプリケーション実行時の VM 引数として --add-modules javafx.controls
を指定したりとかなり煩雑です。
この煩雑さは JavaFX が JDK から分離されていることに起因しています。JavaFX を JDK にマージしてしまえば、 モジュール指定などを気にすることなく従来の Java と同様に JavaFX を使えるようになります。
OpenJDK に OpenJFX をマージするためのバッチファイルを作成しました。
merge-openjfx.zip
をダウンロード ・ 展開して、 中にあるファイルを OpenJDK、 OpenJFX を保存した場所にコピーしてください。
このようなファイル構成になっている状態で merge-openjfx.bat
をダブルクリックして実行します。merge-openjfx.bat
を実行するとコマンドプロンプトが表示され処理が開始されます。しばらく待つと 「続行するには何かキーを押して下さい」 とメッセージが表示されます。何かキーを押すとコマンドプロンプトが閉じます。
jdk-11.0.1
フォルダーが作成されています。
この OpenJDK は OpenJFX がバンドルされた状態になってるので、 いままでと同様に JDK の一部として JavaFX を使用することができます。