ラズパイでJavaFXを起動する
JDKのインストール
注意点としては、ARM32のJDKをインストールするというところです。
参考にするサイトはオラクルのブログです。
ラズパイにRaspbianのFULLバージョンをインストールした場合の記述になっています。
そして、使用するJDKはLibraSoftが提供しているものです。
以下のコマンドを叩きます。
$ cd /home/pi
$ wget https://download.bell-sw.com/java/13/bellsoft-jdk13-linux-arm32-vfp-hflt.deb
$ sudo apt-get install ./bellsoft-jdk13-linux-arm32-vfp-hflt.deb
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
ここでのポイントは「update-alternatives」コマンドです。
このコマンドは、使用するJDKを選択するものだと思ってくれればOKです。下のようなイメージです。
使用しているJDKが違うので注意してください。
余談ですが、GPIOの番号と機能に関しては、こちらです。
そして、確認を行います。
java --version
Mavenのインストール
ズバリ下のようにコマンドを叩くだけです。
cd /tmp
wget http://ftp.kddilabs.jp/infosystems/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
tar xzvf apache-maven-3.6.3-bin.tar.gz
sudo mv apache-maven-3.6.3 /opt
echo "export PATH=/opt/apache-maven-3.6.3/bin:$PATH" >> ~/.profile
source ~/.profile
そして、実行するのですが、下のようなエラーが出ました。
Caused by: java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.access$200(X11GraphicsEnvironment.java:65)
at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:115)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:103)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:82)
at application.Main.initWindowInfo(Main.java:154)
at application.Main.<init>(Main.java:88)
どうやら、リモートデスクトップでの実行ではほかの設定が必要なようです。今後、接実行してみようと思います。
でわでわ。。。
<以前の記述です>
Oracle JDKをダウンロードしてやる場合
ラズパイでのJavaFXを起動時に実行する手順のメモです。
Introduction
This blog is a Memo for Execute to JavaFX on RPi2 when start up.
設定するもの一覧(List of setting files)
- JDK + jfxswt.jar amd etc...
- raspi-config(ラズパイの設定)
- ./config/lxsession/LXDE-pi/autostart
1.JDKの用意(setting up JDK)
以下のようにOpemJDKに必要なファイルをコピーして配置します。既にファイルを配置しているのであれば飛ばしてよいです。
Setting up as below. if you have jfxrt.jar et... on your JDK then you do not setting up as bellow.
開発環境の構築(setting up Development enviroment)
・サイトより「JavaFX Embedded SDK」をダウンロード(Download left link)
・DLして解凍したら、各資源をいかに配置(Deploy as bellow)
armv6hf-sdk/rt/lib/ext/jfxrt.jar |
jre/lib/ext/ |
armv6hf-sdk/rt/lib/arm/* |
jre/lib/arm/ |
armv6hf-sdk/rt/lib/javafx.platform.properties |
jre/lib/ |
armv6hf-sdk/rt/lib/javafx.properties |
jre/lib/ |
armv6hf-sdk/rt/lib/jfxswt.jar |
jre/lib/ |
※結局は「解凍したフォルダ/rt/lib」をJDK/libにコピペすれば、おっけ。
2.raspi-config
ラズパイの起動設定を行います。
- ラズパイにログイン、ターミナル(コマンド画面)を起動します。
- 右のコマンドをたたく「sudo raspi-config」
- 「Boot Option」→「Desktop \ CLI」→「Desktop Autologin」を選択
3.「./config/lxsession/LXDE-pi/autostart」
このファイルが存在しない場合は、作成してください。そしてこのファイルの中身に以下の記載を追加します。
If you can not find "aoutostart" file then you create one. And write this file as below.
@"実行したいコマンド(アプリ)
※自分の場合はJavaFXを起動したいので、以下のようなシェルスクリプトを作成し実行しましたので以下のようにシェルを書きました。
In my case, I had created shell script on "~/"(My user root dir). And execute JavaFX from this script/
./config/lxsession/LXDE-pi/autostart
@sh ~/javaExe.sh
~/javaExe.sh
"JDK_PATH"/bin/java -jar "JavaFx.jar"