Apache Maven — 概要

Feb 17 2023
あなたが Java 開発者の場合、プロジェクトに取り組んでいる間の日常の活動には、コードの作成、コードのコンパイル、コードのテスト、jar または war ファイルなどのアーティファクトの形式でのパッケージ化、およびこれのデプロイが含まれます。アーティファクトを Web サーバーに送信します。手動で処理しなければならないタスクがたくさんありますが、明らかに、Apache Maven と呼ばれるライブラリを使用してこれらのタスクを自動化できます。この記事では、Apache Maven とは何か、そしてそれを効果的に使用してアプリケーションを構築および管理する方法について理解します。 Java プロジェクト まず、Maven の基礎を理解しましょう。 Maven とは何ですか? Maven は、Java や Scala などの JVM 言語を使用して開発されたプロジェクトの管理を支援するために開発されたプロジェクト管理ツールです。

あなたが Java 開発者の場合、プロジェクトに取り組んでいる間の日常の活動には、コードの作成、コードのコンパイル、コードのテスト、jar または war ファイルなどのアーティファクトの形式でのパッケージ化、およびこれのデプロイが含まれます。アーティファクトを Web サーバーに送信します。

手動で処理しなければならないタスクがたくさんありますが、明らかに、Apache Mavenと呼ばれるライブラリを使用してこれらのタスクを自動化できます。

この記事では、Apache Maven とは何か、そしてそれを効果的に使用して Java プロジェクトを構築および管理する方法について理解します。

まず、Maven の基本を理解しましょう

メイブンとは何ですか?

Maven は、Java や Scala などの JVM 言語を使用して開発されたプロジェクトの管理を支援するために開発されたプロジェクト管理ツールです。プロジェクト管理ツールの主なタスクは次のとおりです。

  1. ソースコードのビルド
  2. ソースコードのテスト
  3. 瓶、戦争、耳への包装
  4. Javaドキュメントの生成
  5. 依存関係を管理する

それでは、さらに進んで、マシンに Maven をインストールする方法を見てみましょう。

  1. ブラウザでhttps://maven.apache.org/を開きます
  2. ダウンロードセクションに移動し、最新の Maven バージョンの zip フォルダーをダウンロードして解凍します。
  3. 環境パス変数を設定しますJAVA_HOMEとMAVEN_HOMEを追加します
  4. Maven パスを環境変数に追加します。例: F:\apache-maven-3.6.3-bin\apache-maven-3.6.3\bin

Maven リポジトリ:

Maven リポジトリは、pom.xml でパッケージ化された jar ファイルのディレクトリです。Maven はリポジトリ内の依存関係を検索します。Maven リポジトリには 3 種類あります。

  1. ローカルリポジトリ
  2. 中央リポジトリ
  3. リモートリポジトリ

また、MAVEN_HOME/conf/settings.xml にある settings.xml ファイル内のローカル リポジトリの場所を変更することもできます。 例: E:\apache-maven-3.1.1\conf\settings.xml

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"   
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
  <!-- localRepository  
   | The path to the local repository maven will use to store artifacts.  
   |  
   | Default: ${user.home}/.m2/repository  
  <localRepository>/path/to/local/repo</localRepository>  
  -->  
</settings>

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"   
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
   xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">  
   <localRepository>e:/mavenlocalrepository</localRepository>  
</settings>

中央リポジトリには、この URL で表示できる多くの共通ライブラリが含まれていますhttp://search.maven.org/#browse。

Maven リモート リポジトリ: Maven リモート リポジトリは Web 上にあります。JBoss ライブラリなどの一部のライブラリが中央リポジトリにない場合があるため、pom.xml ファイルでリモート リポジトリを定義する必要があります。

Maven プロジェクトの構造:

ここで、Maven プロジェクトの構造を理解しましょう。Maven プロジェクトを作成すると、というフォルダーが表示されます。

  1. src — ソース — アプリケーションのソース コードとアプリケーションの単体テストのルートです。
  2. src/main/java — アプリケーションのソース コードが含まれており、アプリケーションに書き込むすべての製品コードはこのフォルダー内にあります。
  3. src/main/resources — プロジェクトで使用するすべての静的ファイルを保存します。例application.properties、XML ファイル、CSV ファイルなど
  4. Web アプリケーションを開発している場合、すべての HTML ファイルと JavaScript ファイルがこのフォルダーの下に置かれます。
  5. src/test/java — ここで、アプリケーションの単体テストと統合テストを記述します。
  6. pom.xml — プロジェクトの依存関係のメタデータが含まれています
  7. ターゲット - このフォルダーには、Maven はコンパイルされたすべての Java クラス ファイルを保存します。

POM にはプロジェクトのメタデータが含まれており、多くの反復的なタスクの自動化に役立つプラグインを構成するための依存関係を管理する役割もあります。基本的な pom.xml は次のとおりです。

<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.maven.application</groupId>  
  <artifactId>my-app</artifactId>  
  <version>1</version>  
</project>

  • モデル バージョン — モデル バージョンは、別の Maven バージョンに変更しない限り、常に 4.0.0 に設定されます。たとえば、3.0 より上の上位バージョン
  1. シンプルなpomファイル
  2. スーパーポムファイル
  3. 有効なpomファイル

Super pom ファイル: super pom ファイルは、Maven インストール ディレクトリのパス lib の下にあります。そして、jar ファイル — maven-model-builder 内に、org という名前のパッケージが見つかります。

効果的な pom ファイル:効果的な pom ファイルは、シンプルな pom ファイルとスーパー pom ファイルの組み合わせに他なりません。これは、pom.xml ファイルのすべての情報を 1 か所で確認するための単なる方法です。有効な pom ファイルを調べるには、maven ターミナル タイプに移動してください。

mvn-help: effective-pom

Maven には 2 種類の依存関係があります

  1. スナップショットの依存関係: スナップショットの依存関係とは、開発が進行中で不安定なプロジェクトを意味します。
  2. リリースの依存関係: プロジェクトが完了するとリリースされます。

依存関係スコープを使用して、Maven 依存関係の可視性を制御できます。スコープは5種類

  1. Compile: これはすべての依存関係のデフォルトのスコープであり、compile とマークされた依存関係はプロジェクトのクラスパス内で使用できます。
  2. 提供: 提供されたスコープの依存関係は、実行時に JDK または Web サーバーによって提供されます。
  3. ランタイム: 名前が示すように、ランタイムとマークされた依存関係は実行時にのみ使用でき、コンパイル時には使用できません。
  4. テスト: これらの依存関係は、テストの作成時と実行時にのみ使用できます。
  5. システム スコープ: これは提供されたスコープと似ていますが、唯一の違いは、システム内の依存関係を見つけることができる場所を明示的に示していることです。実行時にこの依存関係を提供する JDK または Web サーバーの代わりに、Maven がこの依存関係を見つけることができるシステム パスを提供します。システムパスを使用してパスを提供できます

Maven ビルドのライフサイクルは 3 つの異なるステップに分かれています。

  1. デフォルト — このステップの一部として、Maven は多くのタスクを実行します。
  2. Maven は pom.xml を読み取り、有効な XML があるかどうかを検証します。
  3. 次に、Maven はソース コードをコンパイルし、クラス ファイルを作成し、ターゲット フォルダーに保存します。
  4. 次に、テストフェーズでは、テストの一部として、Maven がプロジェクト内で単体テストを実行します。
  5. package — パッケージの一部として、Maven はソースコードを、jar、war、ear、zip ファイルなどの選択したアーティファクトにパッケージ化します。
  6. 統合テスト — プロジェクトに統合テストが含まれており、実行される場合
  7. verify — Maven は、前のフェーズで実行された統合テストが成功したかどうかをチェックします。
  8. install — Maven は作成されたパッケージをローカル リポジトリにインストールします
  9. デプロイ - インストール後、Maven がリモート リポジトリにデプロイされます。
  10. 2. クリーン:このステップは主に、コンパイルされた Java クラスまたは生成されたメタデータをクリーンにします。例: mvn クリーン インストール

    3. サイト:これは、プロジェクト内に存在する Java ドキュメントを生成する役割を果たします。

    Maven は、非常に高度な方法でビルド プロセスを簡素化します。Apache Maven について学び、理解するためのポイントがいくつか得られたことを願っています。

    記事をお読みいただきありがとうございます。拍手、シェア、コメントお願いします。もっとそのような記事を書く励みになります。貴重なご提案をぜひ共有してください。率直なフィードバックに感謝します。

    Java8 ストリームベースの面接で最もよく聞かれる質問 - パート 1 JAVA でデータベースにアクセスする最も簡単な方法 Java コーディングで複数の例外をキャッチ する: JavaScript で n 番目のフィボナッチ数を見つける 書籍の校正に 1 時間あたり 50 ドルから 100 ドルを支払う実際の サイトPythonの説明