不知道你有沒有在你的環境執行Maven Build成功但是你的同事不成功的案例,最後你們才發現原來「你的Maven不是我的Maven」這樣的問題又或是你的環境沒有Maven,為了避免像這樣的問題Maven提供Maven Wrapper這樣的解決方案,今天就讓我們來瞧瞧吧
Wrapper英譯是包裝紙的意思,在程式裡面裡的意思是包裹器的意思,把Maven包裝在裡面,透過什麼呢?它透過一個執行腳本幫我們完成此事,它可以做到執行腳本就幫我們下載指定的Maven版本幫我們執行Maven命令,確保在不同環境下能用一樣的方式執行它,讓CI/CD環境執行或是您的同事執行都是用同樣的Maven
你只要在你的專案裡面下指令mvn wrapper:wrapper
這樣就完成囉再來你原先下的mvn
指令就可以透過mvnw
來完成,什麼!!太簡單了吧
執行完wrapper指令專案會產生mvnw與mvnw.bat檔案前者供linux使用,後者則為windows
執行mvnw compile
順利執行
當專案加入 Maven Wrapper 後,會產生以下檔案:
project-root/
├── mvnw (Unix/Linux/Mac 執行腳本)
├── mvnw.cmd (Windows 執行腳本)
├── .mvn/
│ └── wrapper/
│ ├── maven-wrapper.jar (Wrapper 執行程式)
│ └── maven-wrapper.properties (Wrapper 配置檔)
├── pom.xml
└── src/
./mvnw
命令~/.m2/wrapper/dists/
目錄# 為現有專案加入 Maven Wrapper
mvn wrapper:wrapper
# 指定特定的 Maven 版本
mvn wrapper:wrapper -Dmaven=3.9.8
本日簡單介紹Maven Wrapper使用方式與它的核心理念,記得只是命令是由mvn
轉為mvnw
而已