ロト7の38番

利用に関しては自己責任でお願い致します

ubuntu20.04 における java17 インスロール方法及び javafx の設定について(概要)

2021年11月06日 | ubuntu 覚書
以前、「ubuntu20.04 LTS で javafx を使う」という記事を書いたが、実際問題として【単純に動けばそれでいい】という発想だったのでバージョン差によるエラー表示等を一切無視していた。

その理由は、javaの長期サポート版がその時点では古かったので最新版が発表されるまでの応急処置的な記事だったのだが、先日その java の長期サポート版が出たと聞き色々と調べた結果をメモ書きにして残しておく事にした。

まず

Oracle java ではなく Openjava を使う。

ubuntu20.04 では現在 openjdk-17-jdk が apt でインストール出来る

最初から書くと
$ sudo apt search "^openjdk.*jdk$"

で問い合わせをすると

インストール可能な java が表示されるのでその中に

openjdk-17-jdk/focal-updates,now 17+35-1~20.04 amd64
OpenJDK Development Kit (JDK)

という項目があればそれを指定してインストールする。

$ sudo apt install openjdk-17-jdk

次に javafx だが、java17 用のものは ubuntu20.04 の apt では供給されていないので、本家からダウンロードする。

openjfx 配給サイト
https://gluonhq.com/products/javafx/

下にスクロールして

openjfx-17.0.1_linux-x64_bin-sdk.zip



を選択しダウンロードする。


以下、追加(2022/04/24)

javafx のダウンロード方法が変更されています

その件についての記事はこちらです。


ここからが少々厄介。

通常ファイルはダウンロードされる際にはカタカナ名で「ダウンロードフォルダ」と書かれたフォルダにダウンロードされるのだが、そのままでは何かとトラブルがあるのでそのファイルを

/home

の下に新たに英語(半角数字)で書かれたフォルダを作ってそこに移動させる。


/home/38/openjfx-17.0.1_linux-x64_bin-sdk.zip

そこで解凍。

java 17 の環境が揃ったのでここから前回の記事のように

で、サンプルコードは以下のサイトのものを使って作成します

https://docs.oracle.com/javase/jp/8/javafx/get-started-tutorial/hello_world.htm

注意
現在上記のサイトにある 例3-1 Hello Worldのプログラムはコマンドラインでのコンパイルおよび表示ではエラーが出ます。
最初の部分 package helloworld; の一行は不要ですので削除して下さい
(以前はこのサンプルコードではなかったような気がするが・・・?)

その「38」のフォルダに移動してそこで端末を立ち上げ

export PATH_TO_FX=/home/38/javafx-sdk-17.0.1/lib
javac --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld.java

の後

java --module-path $PATH_TO_FX --add-modules javafx.controls HelloWorld

とすればアプリが表示されるはず

つまり、この使い方ならば
export PATH_TO_FX=
から後ろの部分を変更すれば前の記事との応用が効きますので開発もしたい人は参考にして下さい。
(忙しいのでそこまで検証出来ない)