Javaエンジニアへの登竜門、ビルドツール「Apache Maven(メイヴン)」に挑戦しました。 最新のmacOS Sequoia環境で、インストールからエラーを乗り越えて「Hello World!」を拝むまでのプロセスを全公開します。
1. Mavenとは何か?
Mavenは、Javaプロジェクトの「ビルド(コンパイルなど)」や「ライブラリ管理」を自動化するツールです。これを使えるようになると、複雑な外部ライブラリの導入も pom.xml という設定ファイル一つで完結するようになります。
2. Mavenのインストール(Mac / Homebrew)
Macではパッケージ管理ツール Homebrew を使うのが最もスマートです。
# Mavenをインストール
brew install maven
# 正常にインストールされたか確認
mvn -version
今回使用した環境のスペックです。
OS: macOS Sequoia 15.6.1 (Apple Silicon)
Java: 25.0.1 (Homebrew経由)
Maven: 3.9.12
ターミナルでの実際の出力結果:
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...)し始めます。
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=my-app \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DarchetypeVersion=1.4 \
-DinteractiveMode=false
成功すると、大量のダウンロードログの後に BUILD SUCCESS と表示され、my-app フォルダの中に標準的なJavaプロジェクトが出来上がります。
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> セクションを書き換えます。
<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!
設定を修正したら、改めてコンパイルと実行を行います。
① コンパイル
% 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 コマンドが便利です。
% 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. まとめ
アーキタイプは「標準的なプロジェクト構成」を自動で作ってくれる設計図。
インストールの壁はHomebrewで解決。
オプション7エラーは
pom.xmlのJavaバージョン設定を直せばOK。
0 件のコメント:
コメントを投稿