Spring Initializr中生成的mvnw是干吗的?

DD的博客全面升级,阅读体验更佳(尤其是系列教程),后续不再通过这里发布新文章,而是改到 www.didispace.com 发布啦,奔走相告!点击直达~

当我们使用Spring Initializr来创建Spring Boot工程的时候,有没有发现在工程根目录下有两个名为mvnw的文件:

从命名、图标、扩展名来猜测,这两个文件的作用应该是一样的,只是cmd文件应该是用在windows下跑的,而另外一个则是用于linux环境下跑的。

那么这个文件到底是用来做什么呢?下面我们一起尝试了解一下:

第一步:打开读一下

因为内容较多,我这里就不放出来了。内容也非常易懂,只要你了解shell和maven,就能知道这个脚本主要做这几件事:

  1. 检测你是否有安装Maven,如果没有,就自动下载一个(这样才能完成后续的构建任务)
  2. 检查你是否有安装Java或者配置是否正确,这个无法自己完成,如果报错了,就要自己处理一下,比如JAVA_HOME没有,那就自己配置下。
  3. 检查否存在版本不兼容的情况,如果不兼容他会下载合适的版本来帮助你完成构建

更多检查的细节可以自行打开查看和学习

第二步:执行验证下

执行命令:mvnw install

等待构建完成,我们再看看:

完美!轻松简单的完成了一个Spring Boot项目的构建!

如果你之前没有关注过这个东西,不妨现在打开看看,并尝试运行一下,有个直观的感受吧!