Maven學習1: 環境搭建

1. 寫在前面

1.1 初衷

翻了不少技術書籍,技術水平仍是通常般,碰到問題總須要翻書、查各類搜索引擎。
歸根結底,仍是讀書停留在表面,沒有實踐,遇到問題沒有總結。java

1.2 學習方式

跟着微信公衆號javacode2018學習,記錄過程當中遇到的問題。linux

2. 爲何使用Maven

  1. 自動化項目構建apache

    • 控制項目的生命週期
    • clean、compile、test、package、deploy
  2. 依賴管理vim

    • 解決依賴版本不一致、版本衝突、依賴臃腫問題
  3. 項目結構清晰緩存

    • 約定優於配置
    • 約定源碼目錄、編譯輸出目錄、資源目錄、測試源碼目錄、測試資源目錄...

3. Maven環境搭建(Linux)

3.1 安裝環境

  • Linux 7.6
  • jdk-8u231
  • maven-3.6.3

3.2 安裝jdk

  1. 下載jdk微信

    • 到oracle官網下載jdk-8u231-linux-x64.tar.gz
    • 下載到 /opt/jdk目錄oracle

      [root@john data]# cd /opt/jdk/
      [root@john jdk]# ll
      -rw-r--r-- 1 root root 194151339 12月  8 16:37 jdk-8u231-linux-x64.tar.gz
  2. 解壓jdk框架

    • 解壓到當前目錄maven

      [root@john jdk]# tar -zxvf jdk-8u231-linux-x64.tar.gz
      [root@john jdk]# ll
      drwxr-xr-x 7   10  143      4096 10月  5 18:13 jdk1.8.0_231
      -rw-r--r-- 1 root root 194151339 12月  8 16:37 jdk-8u231-linux-x64.tar.gz
  3. 配置環境變量編輯器

    • 編輯/etc/profile文件

      [root@john jdk]# vim /etc/profile
      # 進入vim編輯器,按G跳至文件最後,追加如下內容
      export JAVA_HOME=/opt/jdk/jdk1.8.0_231
      export PATH=$JAVA_HOME/bin:$PATH
    • 使配置生效

      [root@john jdk]# source /etc/profile
  4. 驗證jdk版本

    [root@john jdk]# java -version
    java version "1.8.0_231"
    Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
    Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)

3.3 安裝maven

  1. 下載maven

    • 下載到/opt/maven目錄

      [root@john maven]# wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
      [root@john maven]# ll
      -rw-r--r-- 1 root root 9506321 11月 20 05:50 apache-maven-3.6.3-bin.tar.gz
  2. 解壓maven

    • 解壓到/opt/maven/目錄

      # -z: 是否使用gzip壓縮
      # -c: 建立壓縮文件
      # -x: 解壓縮
      # -v: 顯示執行過程(--verbose)
      # -f: 指定文件
      # -C:指定目錄
      # --strip-components num:去除第num層目錄結構
      [root@john maven]# tar -zxvf apache-maven-3.6.3-bin.tar.gz
  3. maven目錄結構

    • bin: 運行腳本目錄。
    • boot: 類加載器框架。
    • conf: 配置文件目錄, 包含全局配置文件settings.xml
    • lib: maven運行時所須要的java類庫。

      [root@john maven]# ll /opt/maven/apache-maven-3.6.3/
      drwxr-xr-x 2 root root  4096 12月  8 17:09 bin
      drwxr-xr-x 2 root root  4096 12月  8 17:09 boot
      drwxr-xr-x 3 root root  4096 11月  7 20:32 conf
      drwxr-xr-x 4 root root  4096 12月  8 17:09 lib
      -rw-r--r-- 1 root root 17504 11月  7 20:32 LICENSE
      -rw-r--r-- 1 root root  5141 11月  7 20:32 NOTICE
      -rw-r--r-- 1 root root  2612 11月  7 20:32 README.txt
  4. 配置環境變量

    • 使用軟鏈接簡化maven升級(升級時只須要改變軟鏈接指向)
    • 建立maven的軟鏈接

      [root@john maven]# ln -s apache-maven-3.6.3 maven
      [root@john maven]# ll
      drwxr-xr-x 6 root root    4096 12月  8 17:26 apache-maven-3.6.3
      -rw-r--r-- 1 root root 9506321 11月 20 05:50 apache-maven-3.6.3-bin.tar.gz
      lrwxrwxrwx 1 root root      18 12月  8 17:28 maven -> apache-maven-3.6.3
    • 配置環境變量

      [root@john maven]# vim /etc/profile
      # 進入vim編輯器,按G跳至文件最後,追加如下內容
      export M2_HOME=/opt/maven/maven
      export PATH=$M2_HOME/bin:$PATH
    • 使配置生效

      [root@john maven]# source /etc/profile
  5. 驗證maven版本

    [root@john maven]# mvn -v
    Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
    Maven home: /opt/maven/maven
    Java version: 1.8.0_231, vendor: Oracle Corporation, runtime: /opt/jdk/jdk1.8.0_231/jre
    Default locale: zh_CN, platform encoding: UTF-8
    OS name: "linux", version: "3.10.0-957.12.2.el7.x86_64", arch: "amd64", family: "unix"

4. maven運行原理

4.1 執行命令mvn help:system

  1. $PATH中查找mvn命令,找到可執行文件

    [root@john maven]# which mvn
    /opt/maven/maven/bin/mvn
  2. 執行mvn命令
  3. 查找maven配置文件。

    • 優先查找用戶級別的配置文件,文件位置~/.m2/settings.xml
    • 若是找不到用戶級別的,查找全局配置文件$M2_HOME/conf/settings.xml
    • 運行maven程序
  4. help:system表示給help插件發送system命令
  5. maven查找本地緩存目錄(~/.m2)是否有help插件,若是沒有繼續執行下述步驟。
  6. 到中央倉庫(https://repo.maven.apache.org)下載help插件到(~/.m2)目錄
  7. 運行help插件,發送system命令,輸出本地環境變量信息。

4.2 最佳實踐

  1. 配置用戶級別的配置文件

    • ~/.m2/settings.xml
相關文章
相關標籤/搜索