Ubuntu20.04にMavenをインストールする方法について調査及び研究し、その成果をまとめています。
基本
基本は下記のコマンドでインストールできるのですが、OpenJDK17を使って、下記のコマンドでインストールするMavenのバージョンが3.6.3だと、iDempiereのソースコードをビルドする時にエラーになりますので、手動で最新版のMavenをインストールのをオススメします。
◆準備
sudo apt update
◆インストール
sudo apt install maven
◆確認
mvn -version
手動でのインストール
基本的に上記のコマンドで簡単にインストールできるのですが、Ubuntu20.04で、OpenJDK17を使って、Mavenのバージョンが3.6.3だったりすると、iDempiereのソースコードをビルドすると下記のようなエラーに遭遇します。
[ERROR] Error executing Maven.
[ERROR] java.lang.IllegalStateException: Unable to load cache item
[ERROR] Caused by: Unable to load cache item
[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.c
これは、iDempiereが悪いというわけではなく、Mavenの不具合だと思われます。
Maven crashes when trying to compile a project "Error executing Maven."
これを回避するのため、最新版をダウンロードして手動でセットアップします。
2022年5月時点の最新版は、3.8.5ですので、3.8.5を/opt/にインストールしていきます。
・ダウンロード先のディレクトリに移動
cd /opt
・ファイルをダウンロード
wget https://downloads.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz
・ファイルを解凍
tar -xzvf apache-maven-3.8.5-bin.tar.gz
・扱いやすいようにリネーム
mv /opt/apache-maven-3.8.5 /opt/apache-maven
・javaのパスの確認
which java
以下、javaのパスは"/usr/bin/java"を想定
・パスの追加
cat << "EOF" >> ~/.bash_profile
export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
export PATH=$PATH:/opt/apache-maven/bin
EOF
・適用
source ~/.bash_profile
・直接ファイルを編集する際のコマンド
nano ~/.bash_profile