前言
Maven Wrapper是受到Gradle Wrapper的啟發(fā)而來的饺鹃。一個Maven Wrapper就是Java工程根目錄下的mvnw和mvnw.cmd文件以及.mvn目錄棋枕。
nvmw和mvnw.cmd分別是MacOS\Linux和window上可執(zhí)行的Shell的腳本或者批處理文件。保證這三個系統(tǒng)上都可以執(zhí)行./mvnw
命令,.mvn
目錄包含Maven Wrapper的Jar和properties文件楣号。
其中maven-wrapper.properties文件中指定了Maven的下載路徑和版本:
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.2/apache-maven-3.5.2-bin.zip
系統(tǒng)不需要安裝Maven鼻疮,或者說mvn不需要出現(xiàn)在path里琳水,直接在demo目錄下運(yùn)行mvnw(mac上運(yùn)行./mvnw)。
mvnw第一次運(yùn)行會檢測$USER_HOME/.m2/wrapper/dists
目錄下是否有maven-wrapper.properties中指定Maven版本吊档,如果沒有就自動下載篙议。
就和普通的mvn 一樣使用。例如以前運(yùn)行的mvn clean ,現(xiàn)在運(yùn)行mvnw clean就可以了怠硼。
Maven wrapper 好處有兩點(diǎn)
- 可以指定一個Java工程必須用某個Maven版本鬼贱。也可以統(tǒng)一開發(fā)同一個工程的團(tuán)隊成員使用的Maven,避免因?yàn)榘姹静町愐鸬牟煌e誤
- 不需要在操作系統(tǒng)上安裝Maven香璃,進(jìn)一步簡化了開發(fā)配置環(huán)境这难。