Apache Maven について学ぶ – ビルド自動化ツール
どうしたの、みんな!今日はMavenについてお話します。
まずは簡単な紹介から始めて、それからそれを使用する利点をリストします。このすべてが終わったら、インストールプロセスを見て、次に初心者にとって重要ないくつかの専門用語を見ていきます。それでは、始めましょう!
メイブンとは何ですか?
Apache Maven はプロジェクト管理ソフトウェアであり、理解ツールであると言えます。これはプロジェクト オブジェクト モデル (POM) [この記事で後ほど説明します] の概念に基づいており、Maven はプロジェクトのビルド、レポート、ドキュメントを中心的な情報から管理できます。
Apache Maven はビルド ツールであり、Ant と同じようにタスクを実行します。これもまた並外れたビルド ツールです。これは、プロジェクト オブジェクト モデル (POM) の新しい概念を提供するソフトウェア プロジェクト管理ツールです。 Maven を使用すると、開発者は元のフォルダー形式の作成、最終出力の分類とテスト、パッケージ化と展開の実行の処理を自動化できます。これにより、基本プロセスのかなりの数のステップが削減され、ビルドを 1 ステップのプロセスだけで実行できるようになります。
Maven が使用される理由
要約すると、Maven はプロジェクトのビルド プロセスを簡素化し、標準化します。チームのコラボレーション、コンパイル、配布、文書化、および個別のタスクをシームレスに処理します。 Maven は再利用性を高め、ビルド関連のタスクのほとんどを処理します。これは、プロジェクト ライブラリへの jar の追加、レポートの構築、Junit テスト ケースの実行、プロジェクトの Jar、War、Ear ファイルの作成など、多くの手順を支援するために機能します。
Maven の非常に重要な側面は、jar ファイルを管理するリポジトリの目的です。
さらに、Maven は、C#、Ruby、その他のプログラミング言語を使用して書かれたプロジェクトの構築と管理にも使用できます。
次の Maven の利点を見てみましょう。
設定よりも規約
- その構成は非常に最小限です。
- 依存関係の管理があります。
複数/繰り返しのビルドを実現可能
- 自動化によりそれが簡単になります。
プラグインの管理、テスト、開発
- JUnit やその他の統合テストを実行する機能があります。
- 開発プロセスが明確になります。
すべてのビルドのステータスを確認するための規定
- 一貫性のない設定を回避します。
- プロジェクト間で標準的で統一されたインフラストラクチャ。
Maven のアーキテクチャ
プロジェクト オブジェクト モデル (POM) に基づいた Maven のアーキテクチャを理解すると、ビルド フレームワークを完全に理解できる概念的な理解が強調されます。
Maven アーキテクチャは次のとおりです。
そのアーキテクチャには、ライフサイクル、ステージ、目標、プラグイン、その他のタスクを含むビルド ライフサイクル フレームワーク全体が最初から表示されます。
Maven のアーキテクチャには次の手順がリストされています。
- 最初のステップ: pom.xml ファイルを使用する Maven をセットアップする必要があります。 Maven の設定はすべて POM ファイルに存在します。
- 2 番目のステップ: pom.xml の依存関係を中央リポジトリからローカル リポジトリにダウンロードします。
- 3 番目のステップ: ユーザーが Maven での作業を開始すると、ツールはさまざまなデフォルト設定を提供するため、pom.xml にすべての構成を追加する必要はありません。
Maven ビルドのライフサイクル
Maven ビルド ライフ サイクルは、プロジェクトをビルドするために従う必要がある一連のステップです。
以下は、ビルド ライフ サイクルの各フェーズの概要です。
重要なフェーズのいくつかは次のとおりです 。
- Validate : ビルドに必要なすべてのデータが利用可能であることを確認します。
- Compile : ソースコードがコンパイルされます。
- テストコンパイル: テスト用のソース コードをビルドします。
- Test : 単体テストはそれによって実行されます。
- パッケージ : コンパイルされたソース コードをアクセス可能な形式 (jar、war など) に変換します。
- インストール : ソフトウェアはローカル リポジトリにインストールされます。
- パッケージのコピーをリモート リポジトリにデプロイします。
Maven には 3 つの組み込みライフサイクルがあります:-
- デフォルト : 検証段階から展開段階まで、21 のフェーズがあります。
- Clean : プロジェクトは適切にクリーンアップされ、以前のビルドで作成されたファイルはすべて削除されます。これには 3 つのフェーズがあります。
- サイト : プロジェクトの Web サイトのドキュメントはこのステップで作成され、4 つのフェーズがあります。
Maven のリポジトリ
Maven リポジトリには 3 つのタイプがあります:-
- ローカル リポジトリ : ローカル コンピュータを使用してリポジトリを保存します。
- 中央リポジトリ : Maven コミュニティは中央リポジトリであり、Maven は必要に応じてこの場所から依存関係をダウンロードします。
- リモート リポジトリ: Maven は、Web サーバー上にある依存関係をダウンロードします。
Maven の利点
Maven は、Apache Group によって開発された最も人気のあるオープンソースのビルド自動化および管理ツールの 1 つです。ソフトウェア開発者や企業に次のような多くの利点をもたらします。
- 構築、文書化、リリース、配布を含むすべてのプロジェクト管理プロセスを管理します。
- 標準化されたプロジェクト構造により、プロジェクト開発の複雑さを軽減します。
- プロジェクトと開発プロセスのパフォーマンスを向上させます。
- さまざまなプラグインの統合により、コードの品質、タスクの自動化、生産性の向上などの最適化に役立ちます。
- Jar ファイルとその他の依存関係のダウンロードは自動的に実行されます。
- 開発者が依存関係やワークフローなどを気にせずに、さまざまなコンテキストでプロジェクトを構築できるようになります。
- その依存関係管理システムは外部ライブラリの組み込みを合理化し、バージョンの競合の可能性を減らし、一貫性と信頼性の高いビルドを保証します。
- 導入プロセスが合理化され、人的エラーが減少し、効率が向上します。
Maven の利点を活用することで、開発チームはコードの生産性と品質を向上させ、開発コミュニティ全体を削減しながら高品質のソフトウェアを提供できます。
Maven 環境のセットアップ
Maven のインストールには次の手順が含まれます。
- システムに Java がインストールされているかどうかを確認します。そうでない場合はJavaをインストールしてください
- Java環境変数が設定されているかどうかを確認してください。そうでない場合は、Java 環境変数を設定します。
- Maven をダウンロード
- Maven ダウンロードをシステム内の 1 か所で解凍します。
- ここで、作成したディレクトリ apache-maven-3.6.2 の bin ディレクトリを PATH 環境変数とシステム変数に追加します。
-
cmd を開き、
mvn -v
コマンドを実行してインストールを確認します。
それだけです
インストールの詳細な手順を取得するには、以下の YouTube ガイドに従って Maven 環境をセットアップしてください。この記事を単純な読み物で退屈なものにしたくありません。
これは初心者向けのガイドであるため、MAVEN に関連する専門用語が含まれている必要があります。ここでは、非常に重要なものをいくつか紹介します。
Maven ローカル リポジトリ
Maven ローカル リポジトリは、Maven がすべてのプロジェクトの jar ファイル、ライブラリ、または依存関係を保存するセットです。デフォルトでは、フォルダー名は「.m2」に設定され、デフォルトの場所は「Libraries\Documents\.m2」です。
Maven セントラル リポジトリ
Maven セントラル リポジトリは、Maven が使用するすべてのプロジェクト依存関係ライブラリをダウンロードするためのデフォルトの場所です。プロジェクトに関係するライブラリについては、Maven はまずローカル リポジトリの .m2 フォルダーを調べ、必要なライブラリが見つからない場合は、セントラル リポジトリを探して、ライブラリをローカル リポジトリにロードします。
Maven POM
POM は、プロジェクトに関する情報と、プロジェクトを開発するために Maven が必要とする構成の詳細が含まれるプロジェクト オブジェクト モデル XML ファイルです。ほとんどのプロジェクトのデフォルト値が含まれています。 POM で定義できる構造には、プロジェクトの依存関係、実行可能なプラグイン、そしてもちろんビルド プロファイルなどがあります。
pom.xml ファイルの作成で使用される要素
- project – プロジェクトは、pom.xml ファイルのルート要素です。
- modelVersion – 作業している POM モデルのバージョンを意味します。
- groupId – プロジェクト グループの ID を意味します。これは一意であり、ほとんどの場合、ルート Java パッケージ名に関連するグループ ID を適用します。
- artifactId – これは、構築しているプロジェクトの名前を提供するために使用されます。
- バージョン – この要素はプロジェクトのバージョン番号で構成されます。プロジェクトがさまざまなバージョンでリリースされている場合は、プロジェクトのバージョンを提示すると便利です。
依存関係のキーワード
依存関係はプロジェクトに必要なライブラリです。 Log4j jar、Apache Poi jar、Selenium Jars と同様、プロジェクトに必要なライブラリはほとんどありません。 Maven pom.xml では、依存関係は次のように記述されます。
com.companyname.groupname
App-Core-lib
1.0
シュアファイアプラグイン
Surefire プラグインは、ビルド ライフサイクルのテスト段階でアプリケーションの単体テストを実装するために必要です。プレーン テキスト ファイル、XML ファイル、および HTML ファイルなどの 2 つの異なるファイル形式でレポートを作成します。レポートに Junits フレームワークまたは TestNG を使用している場合でも、このプラグインは Maven によるテストの検索に役立つため、必ず使用する必要があります。
Maven の実用化
特定の Java プロジェクトで作業しており、そのプロジェクトに多くの依存関係、ビルド、要件がある場合、これらすべてを手動で操作するのは非常に複雑で手間がかかります。したがって、これらの作業を実行できるツールを使用すると、非常に役立ちます。
そして、Maven は、依存関係の追加、プロジェクトへのクラスパスの使用、war ファイルと jar ファイルの自動作成、および多くの新しいことなど、あらゆることを実行できるビルド管理ツールです。
結論
このツールは、プロジェクトを構築する場合に役立ちます。 JAVA プロジェクトの成功を祈っています。ビデオ チュートリアルをお探しの場合は、 Maven 短期集中コース をチェックしてください。