Maven - 2、インストール、設定、mvn の操作プロセスの詳細な説明

1. この記事の環境

  1. jdk1.8

  2. maven3.6.2

Javaコードを書きたいので、jdkをインストールする必要があり、次にmavenを使用する必要があります。同様に、マシンにmavenをインストールする必要があります。

2. Linux に Maven をインストールする

Maven は Java 言語で書かれているため、Maven を実行したい場合は、まず jdk をインストールする必要があります。

2.1、JDKをインストールする

2.1.1. jdkのダウンロード

今回は jdk1.8 をインストールします。次のように、oracle 公式 Web サイトにアクセスして jdk-8u181-linux-x64.tar.gz をダウンロードし、/opt/jdk ディレクトリに置きます。

[root@ady01 jdk]# cd /opt/jdk/
[root@ady01 jdk]# ll
total 181300
-rw-r--r-- 1 root root 185646832 Nov  1 13:30 jdk-8u181-linux-x64.tar.gz

2.1.2、jdkを解凍します

[root@ady01 jdk]# tar -zvxf jdk-8u181-linux-x64.tar.gz
[root@ady01 jdk]# ll
total 181304
drwxr-xr-x 7   10  143      4096 Jul  7  2018 jdk1.8.0_181
-rw-r--r-- 1 root root 185646832 Nov  1 13:30 jdk-8u181-linux-x64.tar.gz

2.1.3、環境変数を設定する

/etc/profile ファイルの末尾に次の行を追加します。

export JAVA_HOME=/opt/jdk/jdk1.8.0_181
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

この場所は知識ポイントを拡張します。

知識ポイントについて話しましょう。システムが Java またはその他の外部コマンドを実行するとき、システムはこれらのコマンドをどのように見つけますか?

Linux では、PATH に対応するすべてのディレクトリでこのコマンドを検索し、見つかった場合は直接実行できます。PATH が設定されていない場合、コマンドを実行するにはコマンドのフル パスを知る必要があるため、 PATH を使用する方が便利です。

ウィンドウには、システム変数 PATH もあります。この PATH の値は、多くのディレクトリのアドレスで構成されています。コマンドを実行すると、システムは、PATH に対応するすべてのディレクトリで実行したコマンドを検索します。それを見つけたら、直接実行できます。たとえば、他のソフトウェアをすぐに起動したい場合は、これらのソフトウェアを PATH 変数に設定すると、cmd コマンドですぐに起動できます。

2.1.4. 次のコマンドを実行して環境変数を有効にします。

[root@ady01 jdk1.8.0_181]# source /etc/profile

2.1.5. jdkが正常であることを確認する

JDKのバージョンを確認する

[root@ady01 jdk]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

次の内容を含む新しい /opt/jdk/HelloWorld.java を作成します。

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello maven!");
    }
}

以下のコマンドを実行します。

[root@ady01 jdk]# cd /opt/jdk/
[root@ady01 jdk]# javac HelloWorld.java 
[root@ady01 jdk]# java HelloWorld
hello maven!
恭喜,输出hello maven表示正常,jdk安装成功!

2.2. Maven のインストール

2.2.1. Maven をダウンロードする

Maven 公式 Web サイトにアクセスして最新の Maven をダウンロードしましょう。アドレスは次のとおりです。

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

私たちが使用するバージョンはapache-maven-3.6.2です。apache-maven-3.6.2-bin.tar.gzこれをLinuxでダウンロードする必要があります。

[root@ady01 jdk]# mkdir /opt/maven
[root@ady01 jdk]# cd /opt/maven/
[root@ady01 maven]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
--2019-11-01 13:47:11--  http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
Resolving mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)... 101.6.8.193, 2402:f000:1:408:8100::1
Connecting to mirrors.tuna.tsinghua.edu.cn (mirrors.tuna.tsinghua.edu.cn)|101.6.8.193|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9142315 (8.7M) [application/octet-stream]
Saving to: ‘apache-maven-3.6.2-bin.tar.gz’

100%[==================================================================================================================================>] 9,142,315   10.2MB/s   in 0.9s   

2019-11-01 13:47:13 (10.2 MB/s) - ‘apache-maven-3.6.2-bin.tar.gz’ saved [9142315/9142315]
[root@ady01 maven]# ls
apache-maven-3.6.2-bin.tar.gz

上記では、Maven 関連ソフトウェアを保存する /opt/maven ディレクトリを作成し、wget コマンドを使用しました。これは Linux のコマンドであり、http アドレスにアクセスして現在のディレクトリにダウンロードできます。

2.2.2、Mavenを解凍します

[root@ady01 maven]# tar -zvxf apache-maven-3.6.2-bin.tar.gz
[root@ady01 maven]# ls
apache-maven-3.6.2  apache-maven-3.6.2-bin.tar.gz

2.2.3、Maven ディレクトリ構造

[root@ady01 maven]# ll /opt/maven/maven/
total 40
drwxr-xr-x 2 root  root   4096 Nov  1 13:49 bin
drwxr-xr-x 2 root  root   4096 Nov  1 13:49 boot
drwxrwxr-x 3 mysql mysql  4096 Aug 27 23:01 conf
drwxrwxr-x 4 mysql mysql  4096 Nov  1 13:49 lib
-rw-rw-r-- 1 mysql mysql 12846 Aug 27 23:09 LICENSE
-rw-rw-r-- 1 mysql mysql   182 Aug 27 23:09 NOTICE
-rw-rw-r-- 1 mysql mysql  2533 Aug 27 23:01 README.txt
  1. bin: 実行可能ファイルを格納する

  2. conf: Maven 設定ファイルを保存する

  3. lib: Maven は Java で書かれており、多くのサードパーティの JAR パッケージがその中で使用されており、これらの JAR パッケージは lib にあります

2.2.4. apache-maven-3.6.2 ディレクトリを指すソフトリンクを作成する

[root@ady01 maven]# ln -s apache-maven-3.6.2 maven
[root@ady01 maven]# ll
total 8936
drwxr-xr-x 6 root root    4096 Nov  1 13:49 apache-maven-3.6.2
-rw-r--r-- 1 root root 9142315 Sep  3 05:43 apache-maven-3.6.2-bin.tar.gz
lrwxrwxrwx 1 root root      18 Nov  1 13:56 maven -> apache-maven-3.6.2

ln –s 源文件 目标文件これは Linux のコマンドです。皆さんは Windows のショートカットを知っています。これは源文件ショートカットを作成するのと同じです。ショートカットの名前は と呼ばれます目标文件

ln -s apache-maven-3.6.2 mavenこれはapache-maven-3.6.2ショートカットが作成されmaven、アクセスはmavenアクセスと同等であることを意味しますapache-maven-3.6.2

なぜここでショートカットが必要なのでしょうか?

将来的には Maven をアップグレードすることがより便利になります。Maven を 3.7 などの最新バージョンにアップグレードする必要がある場合は、3.7 を現在のディレクトリにダウンロードし、コマンドを実行して方向を変更するだけで済みます。ショートカットなのでとても便利ですln -s apache-maven-3.7 maven

2.2.5. Maven 環境変数の設定

/etc/profile ファイルの末尾に次の行を追加します。

export M2_HOME=/opt/maven/maven
export PATH=$M2_HOME/bin:$PATH

 2.2.6. 次のコマンドを実行して環境変数を有効にします。

[root@ady01 maven]# source /etc/profile

 2.2.7. Maven が正常であることを確認する

[root@ady01 maven]# mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: /opt/maven/maven
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /opt/jdk/jdk1.8.0_181/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.2.2.el7.x86_64", arch: "amd64", family: "unix"

mvn -vMaven のバージョン番号情報を出力します。出力が上記と同様であれば、おめでとうございます。Maven は正常にインストールされています。

3. Windows が Maven をインストールする

3.1、JDKをインストールする

Window インストール JDK はここでは繰り返されません

3.2. Maven のインストール

3.2.1、maven3.6.2 をダウンロード

下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz

3.2.2. 解凍

以下に示すように、D:\installsoft\maven ディレクトリに配置します。

3.2.3、環境変数を設定する

M2_HOME次の値を使用して新しい環境変数を作成します。

D:\installsoft\maven\apache-maven-3.6.2

環境変数 PATH を変更し、それを PATH の値に追加します。%M2_HOME%\bin

3.2.4. Maven が正常であることを確認する

C:\Users\Think>mvn -v
Apache Maven 3.6.2 (40f52333136460af0dc0d7232c0dc0bcf0d9e117; 2019-08-27T23:06:16+08:00)
Maven home: D:\installsoft\maven\apache-maven-3.6.2\bin\..
Java version: 1.8.0_121, vendor: Oracle Corporation, runtime: D:\installsoft\Java\jdk1.8.0_121\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

mvn -vMaven のバージョン番号情報を出力します。出力が上記と同様であれば、おめでとうございます。Maven は正常にインストールされています。

4. Mavenの動作原理の詳細説明

この記号はこの記事の後半で使用します~。最初にこの記号について説明します。この記号は現在のユーザーのディレクトリを表します。

デフォルトではウィンドウ内でC:\Users\用户名

Linux root ユーザーは/rootデフォルトでディレクトリ内にあり、他のユーザーの ~ は/home/用户名

以下の記事では、ユーザー ディレクトリを表すために ~ を使用し、この場所については再度説明しません。

次のコマンドを実行して効果を確認します

C:\Users\Think>mvn help:system
[INFO] Scanning for projects...
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.pom (4.7 kB at 4.0 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/12/maven-plugins-12.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/12/maven-plugins-12.pom (12 kB at 21 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/maven-parent/9/maven-parent-9.pom (33 kB at 44 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-antrun-plugin/1.3/maven-antrun-plugin-1.3.jar (24 kB at 12 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.pom (15 kB at 13 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-plugins/16/maven-plugins-16.pom (13 kB at 33 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.jar
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-assembly-plugin/2.2-beta-5/maven-assembly-plugin-2.2-beta-5.jar (209 kB at 29 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom
Downloaded from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.pom (11 kB at 14 kB/s)
Downloading from central: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-dependency-plugin/2.8/maven-dependency-plugin-2.8.jar
Progress (1): 153 kB

上記のコマンドを実行するmvn help:systemと、https://repo.maven.apache.orgサイトから色々ダウンロードされているようで、最終的にはシステムの全ての環境変数の情報が出力されます。

mvn help:systemこのコマンドの実行プロセスを詳しく見てみましょう。

  1. 走ったmvn help:system

  2. システムは、環境変数 PATH に対応するすべてのディレクトリで mvn コマンドを検索し、D:\installsoft\maven\apache-maven-3.6.2\bin実行可能mvnファイルを見つけます。

  3. mvn ファイルを実行します。つまり、mvn コマンドを実行します。

  4. ~/.m2通常、何らかのソフトウェアが起動すると起動設定ファイルが存在しますが、mavenにもそれがあります。mvnコマンドが起動すると、設定ファイルを見つけるためにディレクトリに移動します。このファイルがmvnコマンドの起動設定ファイルsettings.xmlですファイルが~/.m2ディレクトリに見つからない場合は、そのディレクトリsettings.xmlに移動してM2_HOME/conf設定ファイルを見つけ、Maven プログラムを実行します。

  5. mvn コマンドの後にパラメータが続きます: help:sytem、これは何を意味しますか? これは、プラグインを実行してからhelpヘルプ プラグインにsystemコマンドを送信することを意味します。

  6. Maven はローカル キャッシュ ディレクトリ (デフォルトはその~/.m2ディレクトリ) をチェックしてヘルプ プラグインがあるかどうかを確認します。ローカルにない場合は、次の手順に進みます。

  7. Maven はデフォルトのサイト (Maven 用に Apache によって提供される Web サイト [repo.maven.apache.org]、これは中央ウェアハウスと呼ばれます) に移動し、ヘルプ プラグインをディレクトリにダウンロードします~/.m2

  8. ヘルプ プラグインを実行し、systemヘルプ プラグインに指示を送信します。systemヘルプ プラグインはコマンドを受信した後、ローカル環境変数の情報を出力します。システムが指定されたプラグインを見つけられない場合、またはヘルプ プラグインに指示が送信された場合は、プラグインに対して認識できないコマンドを入力すると、エラーが報告されます。

上記のプロセスをもう一度体験してみましょう Maven のすべてのコマンドはプラグインの形式で提供されているため、Maven の拡張も非常に簡単です。

4.1、mvn プラグイン名: ヘルプ 

上記はプラグインのヘルプドキュメントを出力します。実際に感じてみましょう:

C:\Users\Think>mvn clean:help
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.5:help (default-cli) @ standalone-pom ---
[INFO] org.apache.maven.plugins:maven-clean-plugin:2.5

Maven Clean Plugin
  The Maven Clean Plugin is a plugin that removes files generated at build-time
  in a project's directory.

This plugin has 2 goals:

clean:clean
  Goal which cleans the build.
  This attempts to clean a project's working directory of the files that were
  generated at build-time. By default, it discovers and deletes the directories
  configured in project.build.directory, project.build.outputDirectory,
  project.build.testOutputDirectory, and project.reporting.outputDirectory.

  Files outside the default may also be included in the deletion by configuring
  the filesets tag.

clean:help
  Display help information on maven-clean-plugin.
  Call
    mvn clean:help -Ddetail=true -Dgoal=<goal-name>
  to display parameter details.


[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.372 s
[INFO] Finished at: 2019-11-01T17:59:04+08:00
[INFO] Final Memory: 15M/487M
[INFO] ------------------------------------------------------------------------

これらについては後で詳しく説明します。

5. Maven の一部の構成

5.1. 起動ファイルの設定

上で述べたようにmvn、実行時に起動設定ファイルが読み込まれますsettings.xml。このファイルはM2_HOME/confデフォルトでディレクトリにあります。通常は 1 つをコピーして~/.m2ディレクトリに置きます。前者はグローバル設定ファイルです。全体のすべてのユーザーマシンはこの構成の影響を受けます。後者はユーザー全体のレベルであり、現在のユーザーのみが構成の影響を受けます。~/.m2他のユーザーの使用に影響を与えないように、グローバル構成を使用するのではなく、ユーザーレベルの構成を使用してディレクトリに配置することをお勧めします。また、将来的に Maven のバージョンを使用したりアップグレードしたりする際に便利です。通常の状況では、Maven のインストール ディレクトリ全体を変更する必要はありません。アップグレードする場合は、インストール ファイルを置き換えるだけで済み、非常に便利です。 。

5.2、ローカルキャッシュディレクトリを設定する

localRepositorysettings.xml には、ローカル キャッシュ ディレクトリを設定できるタグがあり、Maven によってリモート ウェアハウスからダウンロードされたプラグインと、今後使用するすべての jar パッケージは、次のようにこのディレクトリに配置されます

<localRepository>C:/Users/Think/.m1/repository</localRepository>

6. まとめ

  1. Maven のインストール プロセスをマスターする

  2. ~現在のユーザーディレクトリを示します

  3. Maven 構成ファイル settings.xml は通常、~/.m2Maven のアップグレードを容易にし、他のユーザーの構成への影響​​を避けるためにディレクトリに配置されます。

  4. mvnコマンドの実行プロセスを理解する 

おすすめ

転載: blog.csdn.net/qq_34272760/article/details/127091113