maven-wrapper干嘛用的?
先来看看传统maven的使用流程
传统使用maven需要先到官网上下载
配置环境变量把mvn可执行文件路径加入到环境变量,以便之后使用直接使用mvn命令。
另外项目pom.xml文件描述的依赖文件默认是下载在用户目录下的.m2文件下的repository目录下。
再次,如果需要更换maven的版本,需要重新下载maven并替换环境变量path中的maven路径。
现在有了maven-wrapper
执行mvnw比如mvnw clean ,如果本地没有匹配的maven版本,直接会去下载maven,放在用户目录下的.m2/wrapper中,并且项目的依赖的jar包会直接放在项目目录下的repository目录,这样可以很清晰看到当前项目的依赖文件。
如果需要更换maven的版本,只需要更改项目当前目录下.mvn/wrapper/maven-wrapper.properties的distributionUrl属性值,更换对应版本的maven下载地址。mvnw命令就会自动重新下载maven。
可以说带有mvnw文件的项目,除了额外需要配置 java环境外,只需要使用本项目的mvnw脚本就可以完成编译,打包,发布等一系列操作。
使用
在项目初始化mvnw文件
如果你的项目没有mvnw文件,需要先下载maven,并把mvn可执行文件路径需加入的PATH中。然后执行以下命令,就会自动生成mvnw相关一系列文件
mvn -N io.takari:maven:wrapper
idea对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命令。
评论区