イントロダクション
ラズパイでJavaCVを使った定点観測アプリを作成したいと思っております。
そんなわけで、次のような要件で、開発環境を整えたいと思っております。
- ラズパイでソースをGitからPULLして、コンパイル、実行する
- ウィンドウズでプログラムの作成とテスト
- Gitにソースをコミット
ラズパイで開発環境を整える
まずは、ラズパイでJavaCVプログラムが動かせることを確認しないといけません。なので、JavaCV版のハローワールドを実行します。
まずは、開発ツールとしてGeanyを使用します。
UnsupportedClassVersionError
ラズパイで、Javaのハローワールドを実行してみました。Geanyでのプログラム実行が初めてだったので。。。
すると下のようなエラーがでました。
Error: LinkageError occurred while loading main class Test1
java.lang.UnsupportedClassVersionError: Test1 has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 55.0
原因を調べてみると、次のような結果が出ました。
- 使用しているjavaコマンドのバージョン:Java11
- 使用しているjavacコマンドのバージョン:Java13
なるほど。。。次のコマンドで、バージョンを変更しました。
【Javaコマンドのバージョン】
sudo update-alternatives --config java
【Javacコマンドのバージョン】
sudo update-alternatives --config javac
JavaFXのインストール
ライブラリを配置するだけです。
GLUONサイトからJARファイルをダウンロードします。
ライブラリの読み込み
Linux では次のように動作します。
java -cp "Test.jar:lib/*" my.package.MainClass
区切り文字はセミコロンではなくコロンです。
ラズパイのGeanyでプロジェクト作成
デフォルトの状態では、プロジェクトが作成できないみたいなので、次のようにプラグインをインストールします。【Debia系OS】※Ubuntsuやラズパイ
sudo apt-get install geany-plugins
そして、プロジェクトの作成ができたら使用するライブラリをコンパイル時に追加するようにjavacコマンドを記述します。
javac -cp "ライブラリ(JARファイル)へのパス" "%e(クラス名を示す)"
とりあえずは、こんな感じです。
WindowsのGeanyでプロジェクトの作成
Windowsの場合はインストーラーがあるので、それぞれにインストーラーをダウンロードします。
これでGeanyのインストールは完了です。ラズパイには、初めからインストールされています。
ポイントはWindowsでもラズパイでも同じ開発ツール(IDE)を使用するというところです。
Mavenも使いましょう。
Mavenというビルドツールがあります。これを使うとコマンドでいろいろとできます。
例えば、ライブラリのインストールなどは、POMファイルに文言を追加して、再度ビルドすればPCにインストールできます。
そして、ラズパイ上でも同様に動きますので、プロジェクトの生成やプロジェクトのインストールなどできます。