システム開発の会社に入社して、研修でJavaFxでGUIアプリを作るよう言われたのだが、想像以上に環境設定に詰まってしまったので、備忘録として残しておく。
※初心者なので、よくわかっていないまま設定しているところもあると思います。
使用環境
OS:windows11
eclipse:2020-12 (4.18.0)
・eclipseのマーケットプレイスで「e(fx)clipse」というプラグインをインストール
※この状態でjavaFxのライブラリをインポートしようとしてもライブラリが見つからない旨が表示される。
※Java11以降?にはjavaFxのライブラリは除外されているかららしい。
※一応JREシステムライブラリーを1.8に変えるとJavaFxが使えるようにはなるが、Java11以降のライブラリが使えなかったり、外部のライブラリとうまく連携できなかったりするので、Java11の環境でjavafxが使える方法が以下になる。
・以下のサイトよりJavaFXのSDKをダウンロード(java11以降別でSDKを用意する必要がある)
https://gluonhq.com/products/javafx/
※以降C:\pleiades\java配下にSDKをダウンロードした体で本記事記述していきます。
・環境変数に以下を設定(多分この辺は設定しなくてもいい?)
path C:\pleiades\java\javafx-sdk-18\bin
JAVAFX_HOME C:\pleiades\java\javafx-sdk-18\lib
CLASSPATH C:\pleiades\java\javafx-sdk-18\lib*
・eclipseの画面→新規→JavaFxプロジェクト選択でJavaFxのプロジェクトを作成
・moduleinfojavaというファイルが作成されていたら削除する
・JAVAFX SDKというライブラリが追加されていたら削除する
・ビルドパス画面よりjavafx-sdk-18\lib配下のjarファイルを全て追加する
・実行の構成画面よりVM引数に以下を入れる
--module-path \C;\pleiades\java\javafx-sdk-18\lib --add-modules javafx.controls,javafx.fxml
※「:」じゃなくて「;」
※--module-path "%JAVAFX_HOME%" --add-modules javafx.controlsだとうまく動作しなかった..
これでJavaFXが起動すると思います。