Java 21とDevuan 5(Debian 12)でのMaven:手動でのインストール
概要
ApacheのMavenは、Java(そして他のプログラミング言語も)のプロジェクトをビルド・管理するための人気のあるオープンソースソフトウェアで、Apache-2.0ライセンスの下で公開されています。
Devuanの5 Daedalus(Debian12 bookwormをベースにしている)では、パッケージ管理のおかげで使いやすいです。しかし、必ずしも最新版を提供しているわけではありません。実際、現時点でDebian 12が提供しているMavenは3.8であるのに対し、3.9です。では、これが大きな問題でしょうか?おそらく、違います。
私の前の投稿では、最新のOpenJDK 21をDevuan 5に手動でインストールしました。ここでは、Mavenも手動でインストールする方法を示します。
もちろん、apt install maven
を実行するのはもっと簡単です 🫣
環境
- OS: Devuan 5 Daedalus
- Debian 12をベースにしている
- アプリエンジン: OpenJDK 21
- プロジェクトビルドと管理: Apache Maven 3.9.5
チュートリアル
あなたのPATH
がJava 21のbin
を含むようにして、それが他のJavaバージョン(例えば17、以前のLTS版)のbin
よりも前にくるようにしておきます。
Apache Mavenパッケージを入手
以下を訪れてください: https://maven.apache.org/download.cgi
例えば以下のコマンドラインを使ってバイナリを入手してください:
$ curl -LO https://dlcdn.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz
ダウンロードを確認するには、サーバーとローカルのチェックサムを比較してください。例えば、以下のコマンドラインを使います:
$ echo "$(curl -s https://downloads.apache.org/maven/maven-3/3.9.5/binaries/apache-maven-3.9.5-bin.tar.gz.sha512) apache-maven-3.9.5-bin.tar.gz" | \
sha512sum -c
apache-maven-3.9.5-bin.tar.gz: OK
つまり、サーバーのチェックサムがローカルのものと等しいことが確認されました:
$ # ダウンロードしたファイルのチェックサム
$ sha512sum apache-maven-3.9.5-bin.tar.gz
4810523ba025104106567d8a15a8aa19db35068c8c8be19e30b219a1d7e83bcab96124bf86dc424b1cd3c5edba25d69ec0b31751c136f88975d15406cab3842b apache-maven-3.9.5-bin.tar.gz
ファイルを配置
解凍します:
$ tar xzf apache-maven-3.9.5-bin.tar.gz
結果は以下のようになります:
$ ls {.,apache-maven-3.9.5}
.:
apache-maven-3.9.5/ apache-maven-3.9.5-bin.tar.gz
(...)
apache-maven-3.9.5:
bin/ boot/ conf/ lib/ LICENSE NOTICE README.txt
これでbin
などを含むapache-maven-3.9.5
ディレクトリを手に入れました👍
環境変数を設定
Maven bin
を含むようにPATH
を更新します:
$ # bashの場合
$ export PATH=$(readlink -f ./apache-maven-3.9.5/bin):$PATH
$ # fishの場合
$ #set -x PATH $(readlink -f ./apache-maven-3.9.5/bin/):$PATH
結論
これでApache Mavenが手元にあります:
$ mvn --version
Maven home: /(...)/apache-maven-3.9.5
Java version: 21, vendor: Oracle Corporation, runtime: /(...)/jdk-21
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "6.1.0-13-amd64", arch: "amd64", family: "unix"
例として"maven-example-01"というプロジェクトを作成し、実行してみましょう:
$ # プロジェクトを作成
$ mvn archetype:generate \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false \
-DgroupId=com.myexample.app \
-DartifactId=maven-example-01
$ # ファイルが生成されました
$ cat src/main/java/com/myexample/app/App.java
パッケージ com.myexample.app;
/**
* こんにちは、世界!
*
*/
public class App
{
public static void main( String[] args )
{
System.out.println( "Hello World!" );
}
}
$ # ビルドする
$ mvn package
$ # 実行する
$ java -cp \
target/maven-example-01-1.0-SNAPSHOT.jar \
com.myexample.app.App
Hello World!
やったね 🙌
こちらの記事はdev.toの良い記事を日本人向けに翻訳しています。
https://dev.to/nabbisen/maven-on-java-21-and-devuan-5-debian-12-install-manually-4he5