Mavenプロジェクト管理ツールの概要と設定方法

Mavenプロジェクト管理ツールの概要と設定方法

Mavenはクロスプラットフォーム対応のプロジェクト管理フレームワークです。Apache Software Foundationが開発する成功したオープンソースプロジェクトとして、Javaベースのアプリケーション開発におけるプロジェクト構築、依存関係制御、プロジェクト情報管理を主な目的としています。このツールの名前は「熟練者」や「専門家」を意味し、Javaプロジェクトのビルドプロセスと依存性管理を自動化します。

Mavenの主な機能

依存関係管理

外部ライブラリの効率的な取得と管理を実現し、バージョン競合を回避します。従来のように手動でJARファイルを導入する代わりに、設定ファイルに必要な依存情報を記述するだけで、Mavenがネットワーク経由で自動的にダウンロードします。

標準化されたプロジェクト構造

統一されたディレクトリ構成を提供し、プロジェクト間の一貫性を保ちます。

プロジェクトビルド

クロスプラットフォームでの自動化ビルド処理を実現:コンパイル、テスト実行、パッケージング、デプロイなどのプロセスを迅速に完了できます。ライフサイクル管理機能を備えています。

リポジトリ管理

各種JARパッケージを保存・管理するためのストレージ機能。ローカルリポジトリ、中央リポジトリ(https://repo1.maven.org/maven2/)、プライベートリポジトリ(企業内構築のサーバー)の3種類があります。

Mavenのインストール手順

公式サイトからダウンロード

http://maven.apache.org/download.cgi

展開後の構成:

  1. bin: Mavenの実行コマンドを格納
  2. boot: クラスローダーなどの起動支援プログラムを格納
  3. conf: settings.xmlなどの構成ファイルを格納
  4. lib: Maven実行に必要なJARファイルを格納

MAVEN_HOME環境変数を設定し、Mavenのインストールディレクトリ(binの親ディレクトリ)を指定

システムのPATH変数に%MAVEN_HOME%\binを追加

mvn –versionコマンドで確認

ローカルリポジトリのパスを変更するには、Cドライブに作成されるのを防ぐため、任意の場所に新しいリポジトリフォルダを作成

<mirror> <id>aliyun-mirror</id> <mirrorOf>central</mirrorOf> <name>Alibaba Cloud Maven</name> <url>https://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>

IntelliJ IDEAとの統合

コマンドライン操作

  1. Webアプリケーションの作成
mvn archetype:generate -DgroupId=net.example.project -DartifactId=webapplication -DarchetypeArtifactId=maven-archetype-webapp

このコマンドはmaven-archetype-webappテンプレートを使用してWebアプリケーションの基本構造を生成します。groupIdは組織識別子を表し、通常は逆順のドメイン名形式;artifactIdはプロジェクトの固有識別子です。この例では、webapplicationという名前のWebアプリケーションが作成され、IntelliJ IDEAにインポートして開発を進めることができます。 2. 標準Javaプロジェクトの作成

mvn archetype:generate -DgroupId=net.example -DartifactId=sample-project -DarchetypeArtifactId=maven-archetype-quickstart

maven-archetype-quickstartはシンプルなJavaプロジェクト用のテンプレートです。Servlet APIなどのWeb技術に依存しない純粋なJavaアプリケーション向けの基本構造を生成します。このコマンドでは、groupIdnet.exampleartifactIdsample-projectとなり、基本的なJavaプロジェクトが作成されます。

座標システムの概念

Mavenにおける座標は特定のJARファイルを識別するための仕組みです。 Mavenエコシステムには多数のアーティファクトが存在するため、各アーティファクトを一意に識別する統一規則が必要です。この規則により、検索作業を自動化できます。 Maven座標の主な構成要素(GAV) - 特定のJARのインターネット上での位置を特定

要素 説明
**groupId** 現在のMaven組織名を定義、通常は企業名
**artifactId** 実際のプロジェクト名を定義
**version** 現在のプロジェクトバージョンを定義
**packaging** パッケージ形式 jar:package実行時にJAR形式で出力 war:package実行時にWAR形式で出力
**dependency** <dependency>で依存関係を宣言すると、Mavenが自動的に該当パッケージをダウンロード
要素 説明
**dependencies** 依存関係の集合を示す
**dependency** <dependency>で依存関係を宣言すると、Mavenが自動的に該当パッケージをダウンロード

依存パッケージの追加には座標の指定が必要ですが、多くの場合座標が不明なため、https://mvnrepository.com/ などのウェブサイトで検索できます

タグ: Maven Java build-tool dependency-management project-structure

7月21日 23:19 投稿