使用https://start.spring.io/生成Spring Boot初始项目时,发现其中有几个奇怪的文件
├── .mvn
│ └── wrapper
│ ├── maven-wrapper.jar
│ └── maven-wrapper.properties
├── mvnw
└── mvnw.cmd
先来看看传统maven的使用流程
现在有了maven-wrapper,会获得以下特性
mvnw clean ,如果本地没有匹配的maven版本,直接会去下载maven,放在用户目录下的.m2/wrapper中如果你的项目没有mvnw文件,需要先下载maven,并把mvn可执行文件路径需加入的PATH中。然后执行以下命令,就会自动生成mvnw相关一系列文件
mvn -N io.takari:maven:wrapper
idea提供了插件maven-wrapper-support 这个插件会监测项目下的.mvn/wrapper/maven-wrapper.properties中的distributionUrl属性值,且自动下载maven版本到用户目录.m2/wrapper目录中,并且改变setting->build->build Tools ->maven-> maven home directory的值。 但是这个插件并不会改变setting->build->build Tools->maven->Local repository的值;点击Navigation Bar中的maven projectjs中的命令,执行的命令是原生mvn的命令,而不是项目中下的mvnw命令。
项目目录下的.mvn/wrapper/maven-wrapper.properties的distributionUrl默认值是
https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.5.4/apache-maven-3.5.4-bin.zip
在执行mvnw命令下载有点慢,建议替换为
http://www-us.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip