Maven を Ubuntu にインストールして Hello World する
こんにちは、@studio_meowtoon です。今回は、WSL の Ubuntu 24.04 に Maven をインストールする手順と、Hello World を出力する方法を紹介します。
目的
Windows 11 の Linux でクラウド開発します。
こちらから記事の一覧がご覧いただけます。
実現すること
ローカル環境 (Ubuntu) に Java のプログラムをビルド、実行するツール Maven をインストールします。
技術トピック
Maven とは?
こちらを展開してご覧いただけます。
Maven (メイヴン)
Maven は、Java プロジェクトをビルドするためのオープンソースのツールです。
以下は、Maven の主な特徴とメリットです。
特徴 |
---|
プロジェクトの構造と依存関係を XML ファイルに定義し、ビルドプロセスを自動化できます。 |
プロジェクトの依存関係を自動的に解決し、必要なライブラリをダウンロードしてビルドに含めることができます。 |
ビルド時にテストを自動実行できます。 |
メリット |
---|
ビルドプロセスの自動化により、ビルドの一貫性を確保できます。 |
依存関係の解決とライブラリのダウンロードを自動化することにより、開発者が手動でライブラリをダウンロードする必要がなくなります。 |
標準的なディレクトリ構造と命名規則を使用するため、他の Maven プロジェクトとの親和性が高くなります。 |
さまざまなプラグインを提供しており、ビルドプロセスに組み込むことができるため、柔軟性があります。 |
Java プロジェクトをビルドするツールとして、新しい Gradle というツールがあります。Gradle も Maven と同様に、Maven Central リポジトリからライブラリやプラグインをダウンロードします。Maven Central に登録されているライブラリのメタデータは、Maven POM と呼ばれる XML 形式のファイルで提供されています。
Gradle をより理解する段階において、Maven の知識が必要になる場合があります。そのため、将来的に Gradle を使うかどうかにかかわらず、最初から Maven を学ぶことは効率的です。
一方、Gradle を否定するつもりはありません。実際、Gradle を使用することで Maven ではできない複雑なカスタマイズ処理を行うことができます。Maven では対応できない複雑な問題が発生した場合は、Gradle を使用することも選択肢の1つとなります。
開発環境
- Windows 11 Home 23H2 を使用しています。
WSL の Ubuntu を操作しますので macOS の方も参考にして頂けます。
WSL (Microsoft Store アプリ版) ※ こちらの関連記事からインストール方法をご確認いただけます
> wsl --version
WSL バージョン: 2.2.4.0
カーネル バージョン: 5.15.153.1-2
WSLg バージョン: 1.0.61
Ubuntu ※ こちらの関連記事からインストール方法をご確認いただけます
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 24.04 LTS
Release: 24.04
Codename: noble
Java JDK ※ こちらの関連記事からインストール方法をご確認いただけます
$ java -version
openjdk version "11.0.24" 2024-07-16
OpenJDK Runtime Environment (build 11.0.24+8-post-Ubuntu-1ubuntu324.04.1)
OpenJDK 64-Bit Server VM (build 11.0.24+8-post-Ubuntu-1ubuntu324.04.1, mixed mode, sharing)
この記事では基本的に Ubuntu のターミナルで操作を行います。Vim を使用してコピペする方法をはじめて学ぶ人のために、以下の記事で手順を紹介しています。ぜひ挑戦してみてください。
Maven インストール
存在を確認します。
$ mvn -version
コマンド 'mvn' が見つかりません。次の方法でインストールできます:
※ 以下省略
インストールします。
$ sudo apt update
$ sudo apt install maven
※ アンインストールする場合のコマンドです。
$ sudo apt remove maven
バージョンを確認します。
$ mvn -version
Apache Maven 3.8.7
Maven home: /usr/share/maven
Java version: 11.0.23, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "5.15.153.1-microsoft-standard-wsl2", arch: "amd64", family: "unix"
Maven を Ubuntu にインストールすることができました。
JDK をインストールする際に、JAVA_HOME 環境変数を設定しています。Maven はこの環境変数を参照して JDK のパスを自動的に認識できます。
Hello World を表示する手順
プロジェクトの作成
プロジェクトフォルダーを作成します。
※ ~/tmp/hello-maven をプロジェクトフォルダーとします。
$ mkdir -p ~/tmp/hello-maven
$ cd ~/tmp/hello-maven
Java ソースファイルを作成します。
$ mkdir -p src/main/java/com/example
$ vim src/main/java/com/example/HelloWorld.java
ファイルの内容
※ パッケージを "com.example" としています。
package com.example;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
pom.xml ファイルを作成します。
$ vim pom.xml
ファイルの内容
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>hello-maven</artifactId>
<version>1.0</version>
<name>hello-maven</name>
<properties>
<java.version>11</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
</plugins>
</build>
</project>
pom.xml は、Java プロジェクトを Maven でビルドする際に必要な依存関係や設定情報などを記述する XML 形式のファイルです。
各項目の内容は以下のとおりです。
項目 | 内容 |
---|---|
groupId | プロジェクトのグループIDを指定します。 |
artifactId | プロジェクトのアーティファクトIDを指定します。 |
version | プロジェクトのバージョンを指定します。 |
name | プロジェクトの名前を指定します。 |
properties | ビルドプロセス中に使用するプロパティを定義します。 |
build | ビルドプロセスの設定を定義します。ここでは、コンパイルに必要なプラグイン (maven-compiler-plugin) を定義しています。 |
プロジェクトのファイル構成を表示してみます。
$ tree
.
├── pom.xml
├── src
│ └── main
│ └── java
│ └── com
│ └── example
│ └── HelloWorld.java
プロジェクトのビルドと実行
ビルドします。
※ target/hello-maven-1.0.jar ファイルが作成されます。
$ mvn clean package
Maven を使用して Java プロジェクトをビルドするためのコマンドです。
フェーズ | 内容 |
---|---|
clean | ビルド前に前回のビルドで生成されたファイルを削除します。 |
package | プロジェクトのソースコードからコンパイルされたクラスファイルを含む jar ファイルが作成されます。 |
この jar ファイルには、依存関係のライブラリやリソースファイルも含まれます。ビルドされた jar ファイルは、target ディレクトリ内に生成されます。
実行します。
$ java -classpath target/hello-maven-1.0.jar com.example.HelloWorld
java コマンドで、target/hello-maven-1.0.jar というファイルをクラスパスに含め、com.example.HelloWorld という Java クラスを実行しています。
出力を確認します。
Hello World!
ターミナルに "Hello World!" と表示することができました。
まとめ
- Ubuntu に Maven をインストールして、シンプルな Java 開発環境を構築することができました。
実際の開発では、軽量なテキストエディターである VS Code や、IDE (統合開発環境) を使用して Java プログラムを開発することが一般的です。しかし、それらの開発ツールのバックエンドには、通常 Maven (または Gradle) が使われます。Maven を直接コマンドラインから使用することで、Java プロジェクト開発の基本を理解できます。
どうでしたか? Window 11 の WSL Ubuntu に、Maven を使用した Java の開発環境を手軽に構築できます。ぜひお試しください。今後も Java の開発環境などを紹介しますので、ぜひお楽しみにしてください。
推奨コンテンツ