2026年1月24日土曜日

【Mac】Maven入門!Sequoia環境で「Hello World!」を表示させるまでの実録ガイド

 Javaエンジニアへの登竜門、ビルドツール「Apache Maven(メイヴン)」に挑戦しました。 最新のmacOS Sequoia環境で、インストールからエラーを乗り越えて「Hello World!」を拝むまでのプロセスを全公開します。




1. Mavenとは何か?

Mavenは、Javaプロジェクトの「ビルド(コンパイルなど)」や「ライブラリ管理」を自動化するツールです。これを使えるようになると、複雑な外部ライブラリの導入も pom.xml という設定ファイル一つで完結するようになります。




2. Mavenのインストール(Mac / Homebrew)

Macではパッケージ管理ツール Homebrew を使うのが最もスマートです。

zash
# Mavenをインストール
brew install maven

# 正常にインストールされたか確認
mvn -version

今回使用した環境のスペックです。

  • OS: macOS Sequoia 15.6.1 (Apple Silicon)

  • Java: 25.0.1 (Homebrew経由)

  • Maven: 3.9.12

ターミナルでの実際の出力結果:

Plaintext
Apache Maven 3.9.12 (848fbb4bf2d427b72bdb2471c22fced7ebd9a7a1)
Java version: 25.0.1, vendor: Homebrew
OS name: "mac os x", version: "15.6.1", arch: "aarch64", family: "mac"



3. アーキタイプ(Archetype)でプロジェクトを作る

Mavenには**「アーキタイプ(Archetype)」という強力な機能があります。これは一言でいうと「プロジェクトの金型(設計図)」**です。

Javaのプロジェクトは「ソースコードはここ」「テストコードはここ」という決まったフォルダ構成が推奨されています。アーキタイプを使うことで、コマンド一行でその標準的な構成を自動生成できます。

プロジェクト生成コマンド

以下のコマンドを実行すると、Mavenがインターネットから必要な部品(プラグインや親プロジェクトの情報)を次々とダウンロード(Progress...)し始めます。

zsh
mvn archetype:generate \
  -DgroupId=com.example \
  -DartifactId=my-app \
  -DarchetypeArtifactId=maven-archetype-quickstart \
  -DarchetypeVersion=1.4 \
  -DinteractiveMode=false

成功すると、大量のダウンロードログの後に BUILD SUCCESS と表示され、my-app フォルダの中に標準的なJavaプロジェクトが出来上がります。

Plaintext
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-metadata.xml
...
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/apache/35/apache-35.pom (24 kB at 622 kB/s)


4. 【要注意】コンパイルエラーの壁と解決策

いざ cd my-app で移動し、mvn compile を実行したところ、以下のエラーに遭遇しました。

[ERROR] ソース・オプション7は現在サポートされていません。8以降を使用してください。

最新のJava 25を使っているのに、アーキタイプがデフォルトで「Java 7」という古い設定でプロジェクトを生成してしまったことが原因です。

解決策:pom.xmlの修正

プロジェクト直下の pom.xml をテキストエディタで開き、<properties> セクションを書き換えます。

XML
<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>


5. 運命の実行:Hello World!

設定を修正したら、改めてコンパイルと実行を行います。

① コンパイル

zsh
% mvn compile
[INFO] --- compiler:3.8.0:compile (default-compile) @ my-app ---
[INFO] Compiling 1 source file to /Users/susumu.ohba/my-app/target/classes
[INFO] BUILD SUCCESS

② 実行

Maven経由でJavaプログラムを起動します。クラスパスなどを自動で解決してくれる exec:java コマンドが便利です。

zsh
% mvn exec:java -Dexec.mainClass="com.example.App"

[INFO] --- exec:3.6.3:java (default-cli) @ my-app ---
Hello World!
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS

ついに、「Hello World!」 の文字が表示されました!



6. まとめ

  1. アーキタイプは「標準的なプロジェクト構成」を自動で作ってくれる設計図。

  2. インストールの壁はHomebrewで解決。

  3. オプション7エラーpom.xml のJavaバージョン設定を直せばOK。


0 件のコメント:

コメントを投稿

【Java】数学の「ラムダ表現」から学ぶJavaラムダ式の実装と制限

Java 8で導入された「ラムダ式」。そのルーツは数学の「ラムダ計算」にあります。数学的な美しさと、Javaの実装における具体的なメリット・制限を整理して解説します。 1. 数学におけるラムダ表現 通常、関数は $f(x) = x + 1$ のように名前を付けて定義しますが、ラ...