LoginSignup
5
2

Maven を Ubuntu にインストールして Hello World する

Last updated at Posted at 2023-03-04

Maven を Ubuntu にインストールして Hello World する

こんにちは、@studio_meowtoon です。今回は、WSL の Ubuntu 22.04 に Maven をインストールする手順と、Hello World を出力する方法を紹介します。
maven_on_ubuntu.png

目的

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 を使用することも選択肢の一つとなります。

開発環境

  • Windows 11 Home 22H2 を使用しています。

WSL の Ubuntu を操作していきますので macOS の方も参考にして頂けます。

WSL (Microsoft Store アプリ版) ※ こちらの関連記事からインストール方法をご確認いただけます

> wsl --version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47

Ubuntu ※ こちらの関連記事からインストール方法をご確認いただけます

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.1 LTS
Release:        22.04

Java JDK ※ こちらの関連記事からインストール方法をご確認いただけます

$ java -version
openjdk version "11.0.18" 2023-01-17
OpenJDK Runtime Environment (build 11.0.18+10-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.18+10-post-Ubuntu-0ubuntu122.04, 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.6.3
Maven home: /usr/share/maven
Java version: 11.0.18, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: ja_JP, platform encoding: UTF-8
OS name: "linux", version: "5.15.90.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" としています。

HelloWorld.java
package com.example;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

pom.xml ファイルを作成します。

$ vim pom.xml

ファイルの内容

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 の開発環境などを紹介していきますので、ぜひお楽しみにしてください。

推奨コンテンツ

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2