RPi MavenのInstall 〜ラズパイでMeven〜

ラズパイでMavenのセットアップ

PI4JとMaven(Pi4Jプロジェクト)のサイトを参照しました。
行ったことは次の通りです。

Mavenアーキタイプのインストール

pi4j-maven-archetypeからZIPファイルをダウンロードして、展開し、mvn installコマンドの実行

イントロダクション

ラズパイにMavenをインストールする方法を記載いたします。Mavenはビルドツールの一つで、いろんな場所で使用されています。早い話が、プログラムのコンパイル~実行、テスト、Githubからソースのダウンロードなどを行ってくれる便利ツールというところです。

そして、自分の目的としてはJavaFXを起動するというとこです。

ちなみに、JavaFXは下のようなGUIアプリケーションを作成することができます。
画面上のPNG画像を動かして、画面の下部分に文字を表示したりしています。

Mavenのインストール手順

簡単に「apt-get install」を使用します。下のコマンドをたたきます。

sudo apt install maven -y

そして、インストール確認をします。

mvn -v

そして、JDK17のインストールも必要です。ベルソフトのJDKを使用します。

環境変数の設定

次の環境変数を設定します。そして、環境変数を確認するのは「printenv」で確認できます。そして、「~/.bash_profile」に環境変数を設定するスクリプトを書きます。

M2_HOME=Mavenのパス:mvn -vで対象のパスが表示できます。M2=$M2_HOME/bin
JAVA_HOME=Javaがインストールされているディレクトリ
  • MAVEN_HOME

エラー対応

下のようなエラーメッセージが出ました。

依存関係が解決しない

Could not resolve dependencies for project groupId:

実行する前に、次のコマンドでインストールしておく

mvn install  -Djavafx.platform=linux

これで対象のプラットフォームを選択することができる。
使用できる値は「win」「mac」「linux」の3種類のようだ。

コンパイラープラグイン

下のようなエラーが出ました。

Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile failed: Unsupported major.minor version 61.0

JavaFXを使うのでベルソフトのJDKを使用していましたが、13だったのでこれを17にアップグレードというか新しものをインストールしました。
ラズパイなのでベルソフトのサイトからdebファイルをダウンロードしてdpkgコマンドでインストールしました。

目的

作成したJavaアプリをRPiにMaven InstallでGitから持ってきて起動するため

手順

以下のコマンドを叩きます。command as bellow

>apt-get install maven

以上。。。

参考サイト

追伸、Javaのインストールに関しては、必要なJDKをダウンロードしてきた方が早いと思うのでOracleからダウンロードしてしまう方法でやりました。

maven-antrun-plugin

下のようなエラーが出ました。

package java.awt.image is not visible

モジュールの追加をすることで解決しました。
module-info.javaに以下のように記述

// Add Modules
requires java.desktop;

Apacheのサイトを参考にします。
やりたいことは、このプラグインでコンパイルするときに参照するJARファイルを追加したいということです。
下のようにやるようです。

<plugin>
    <executions>
        <execution>
            <id>compile</id>
            <phase>compile</phase>
            <configuration>
                <target>
                    <property name="compile_classpath" refid="maven.compile.classpath"/>
                    <property name="runtime_classpath" refid="maven.runtime.classpath"/>
                    <property name="test_classpath" refid="maven.test.classpath"/>
                    <property name="plugin_classpath" refid="maven.plugin.classpath"/>

                    <echo message="compile classpath: ${compile_classpath}"/>
                    <echo message="runtime classpath: ${runtime_classpath}"/>
                    <echo message="test classpath:    ${test_classpath}"/>
                    <echo message="plugin classpath:  ${plugin_classpath}"/>
                </target>
            </configuration>
        </execution>
    </executions>
</plugin>

インストール後

Windows端末で開発したコードをGitでダウンロードしてやる場合

次のコマンドでGitからプロジェクトをクローン(ダウンロード)

git clone 対象のURL

そして、クローンしたプロジェクトをセットアップ。つまり必要な依存関係をインストールする

ちなみに、「sudo」をつけるとダウンロード先がroot直下になるので注意

mvn clean install -U

そしてコンパイル

mvn compile

JavaFXの実行(javafx-maven-pluginを使用している)

mvn javafx:run

通常の実行

mvn exec:java

投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す