mvnw 即 maven wrapper 的缩写

2022-07-24  本文已影响0人  zhimin_

mvn 即 maven 的缩写,mvnw 即 maven wrapper 的缩写

mvn 和 mvnw 的关系

从名字就可以知道,mvnw 是 mvn 的包装器,mvnw 内部包括一个 maven 版本;开发者一般会在本地安装某个版本的 maven。但有时候大家安装的 maven 版本并不一致,maven wrapper 相关内容是可以上传 git 的,这样大家都可已使用相同版本的 maven。

使用mvnw好处

  1. 本地可以不用安装maven
  2. 多人协同可以保证使用的 maven 版本是一致的,减少版本不一致带来的问题

maven 项目改为 maven Wrapper 项目

maven 项目变为 maven wrapper 项目本质上是将maven wrapper需要的执行文件下载当当前项目,方法有几种

  1. 其他同学已经上传 git 仓库后,直接 clone 本地即可,但有时候项目种不允许上传这种文件
    git clone <项目地址>

  2. 使用 mvn wrapper:wrapper命令
    该命令是使用 maven 的 wrapper 插件 wrapper goal,该命令会下载与当前 maven 版本对应的 wrapper 相关文件。
    mvn wrapper:wrapper -Dmaven=3.6.3 使用 3.6.3 的maven (推荐命令)

    下载后目录.png
  3. 使用mvn -N io.takari:maven:0.7.7:wrapper 命令
    该命令是下载指定版本的 wrapper 文件,注意 wrapper 版本 和 maven版本是存在映射关系的哦,具体版本参考官网。
    Site: https://maven.apache.org/wrapper/
    Git: https://github.com/apache/maven-wrapper
    mvn -N io.takari:maven:wrapper -D maven=3.6.3 下载maven 版本为 3.6.3 的(windows上 -D后需要空格)

    下载后目录结构.png

使用 mvnw

与 maven 命令一样,命令如下
linux/mac 上
./mvnw clean 清除
windows 上
./mvnw.cmd clean 清除

实践

一般情况下,有的项目要求git种包含二进制文件,此时 只需要将 maven-wrapper.properties 上传即可。然后其他人在 clone 项目后执行mvn wrapper:wrapper 即可,此时会读取配置文件中的版本自动下载

参考

https://github.com/takari/takari-maven-plugin
https://mvnrepository.com/artifact/io.takari/maven-wrapper
https://maven.apache.org/wrapper/index.html
https://developer.aliyun.com/article/897110

上一篇下一篇

猜你喜欢

热点阅读