Maven基礎教程之安裝與配置

前言

至於爲何要寫Maven這個系列呢?其實我本身仍是感慨頗深的,在去年一年的工做中,接觸了一幫出差過來支撐的兄弟,可是這幫兄弟也都是剛走出校門的,或者從其它行業轉過來作開發的,經驗都不多,基礎的Maven都不會配置,更不要說Maven的那些概念了。其實,在咱們周圍不少的看似很厲害的「大牛」,他能和你侃侃而談,從人工智能到大數據,從大數據到區塊鏈等等,他們都能說出一二,可是一到落實的實處時,好比讓他們「show me your code」的時候,他們老是很痛苦的,或者是漏洞百出的。因此,這個系列一來爲須要補充Maven基礎知識的兄弟提供一個捷徑;二來總結一下本身Maven知識,以避免像那些「大牛」同樣。html

Windows上安裝Maven

首先咱們須要知道的事情是Maven是依賴JDK的,因此不論是在Windows仍是Linux,須要使用Maven,就必需要先安裝JDK。每一個版本Maven對JDK的版本要去都不一致,咱們能夠去Maven的官網下載頁,能夠看到Maven的安裝要求。apache

對於Windows的安裝來講,咱們直接下載對應的安裝包便可。關於Windows上安裝Maven不是這篇文章的重點,我這裏也就一筆帶過,推薦網上的一篇教程吧。具體的安裝步驟能夠看這篇《Maven在Windows上的安裝與配置》。框架

Linux上安裝Maven

從Maven的官網下載安裝包之後,進行解壓。解壓後獲得apache-maven-3.6.0這個包;而後執行ln -s apache-maven-3.6.0 maven命令建立一個軟連接,而後在系統環境變量PATH中添加如下環境變量:maven

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

檢查Maven是否安裝成功,只須要輸入mvn -v,若是輸出以下圖所示,就是安裝成功了。工具

安裝成功

確定就有小夥伴會問了,爲何要建立一個軟連接。其實在Linux上安裝軟件包,我都有一個習慣,應該是咱們整個公司也都是這樣要求的。安裝軟件包時,會在安裝目錄旁平行的建立一個符號連接,以方便未來升級;之後Maven升級時,只須要下載新版本的Maven包,解壓放在平行目錄,而後修改這個連接就能夠了。區塊鏈

Maven安裝目錄分析

M2_HOME環境變量指向Maven的安裝目錄。咱們能夠看到Maven安裝目錄下有如下文件和文件夾:大數據

  • conf: 該目錄包含了一個很是重要的文件settings.xml。直接修改該文件,就能在機器上全局地定製Maven的行爲。而通常狀況下,咱們都會複製該文件至~/.m2目錄下,而後修改該文件,在用戶範圍定製Maven的行爲;人工智能

  • bin:該目錄包含了mvn運行的腳本,這些腳本用來配置Java命令,配置好classpath和相關的Java系統屬性,而後運行執行Java命令。該目錄除了包含Unix和Windows平臺運行的腳本外,還包含一個m2.conf文件,這是classworlds的配置文件,後續還會細說;spa

  • boot: 該目錄下只有一個plexus-classworlds-2.5.2.jar文件,plexus-classworlds是一個類加載器框架,相對於默認的Java類加載器,它提供了個更豐富的語法以方便配置,Maven使用該框架加載本身的類庫;code

  • lib: 該目錄包含了全部Maven運行時須要的Java類庫,Maven是分模塊開發的,因此這裏有多個Jar包。

  • NOTICE: 記錄了Maven包含的第三方軟件;

  • LICENSE: 記錄了Maven使用的軟件許可證;

  • README.txt: 記錄了Maven的簡要介紹,包含安裝需求及如何安裝的簡要命令等。

Maven安裝最佳實踐

  • 最佳實踐一:設置MAVEN_OPTS環境變量 運行mvn命令其實是執行了Java命令,既然是運行Java,那麼運行Java命令可用的參數固然也應該在運行mvn命令時可用。

    一般須要設置MAVEN_OPTS的值爲-Xms128m -Xmx512m,由於Java默認的最大可用內存每每不可以知足Maven運行的須要。咱們通常把MAVEN_OPTS設置成環境變量。

  • 最佳實踐二:配置用戶範圍settings.xml Maven用戶能夠選擇配置M2_HOME/conf/settings.xml或者~/.m2/settings.xml。前者是全局範圍的,整個機器上的全部用戶都會直接受到該配置的影響,然後者是用戶範圍的,只有當前用戶纔會受到該配置的影響。

    咱們在配置時,都是使用用戶範圍的settings.xml,主要是爲了不無心識的修改影響到系統中其它用戶;若是有需求,須要統一系統中全部用戶的settings.xml配置,這樣就能夠全局範圍的settings.xml

    除了影響範圍這個因素,配置用戶範圍settings.xml文件還便於Maven升級。直接修改conf目錄下的settings.xml會致使Maven升級不便,每次升級到新版本的Maven,都須要複製settings.xml文件。若是使用~/.m2目錄下的settings.xml,就不會影響到Maven安裝文件,升級時就不須要觸動settings.xml文件。

總結

這是一篇特別基礎的Maven安裝教程,對於Maven的入門有必定的幫助,但願你們能經過個人整個系列能夠入門Maven,豐富本身的工具庫。

2019年3月23日,於內蒙古呼和浩特。


相關文章
相關標籤/搜索