mvnw
是Maven Wrapper的縮寫。簡單地說,Maven Wrapper就是給一個項目提供一個獨立的,指定版本的Maven給它使用。
我們安裝Maven時,默認情況下,系統所有項目都會使用全局安裝的Maven版本。但是,我們需要給一個特定的項目,安裝我們指定版本的Maven,其他項目不受影響,這時就可以使用Maven Wrapper。
安裝Maven Wrapper
安裝Maven Wrapper最簡單的方式是在項目的根目錄(即pom.xml
所在的目錄)下運行安裝命令:
mvn -N io.takari:maven:0.7.6:wrapper
它會自動使用最新版本的Maven。注意0.7.6
是Maven Wrapper的版本。最新的Maven Wrapper版本可以去官方網站查看。
如果要指定使用的Maven版本,使用下面的安裝命令指定版本,例如3.3.3
:
mvn -N io.takari:maven:0.7.6:wrapper -Dmaven=3.3.3
安裝后,查看項目結構:
my-project
├── .mvn
│ └── wrapper
│ ├── MavenWrapperDownloader.java
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── mvnw
├── mvnw.cmd
├── pom.xml
└── src
├── main
│ ├── java
│ └── resources
└── test
├── java
└── resources
發現多了mvnw
、mvnw.cmd
和.mvn
目錄,我們只需要把mvn
命令改成mvnw
就可以使用跟項目關聯的Maven。例如:
mvnw clean package
在Linux或macOS下運行時需要加上./
:
./mvnw clean package
Maven Wrapper的另一個作用是把項目的mvnw
、mvnw.cmd
和.mvn
提交到版本庫中,可以使所有開發人員使用統一的Maven版本。