当前位置: 首页 > 工具软件 > Maven Wrapper > 使用案例 >

Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd

莫选
2023-12-01

Maven Wrapper 文件

每次创建项目后都会有这几个文件,很多教程都直接说删掉,也没介绍一下。

E:.
│  mvnw
│  mvnw.cmd 
├─.mvn
│  └─wrapper
│          maven-wrapper.jar
│          maven-wrapper.properties
│          MavenWrapperDownloader.java               
└─ 略...

其实这个mvnw可以理解为一个当前项目特供的 mavn
mvnw:linux 版脚本
mvnw.cmd : windows 版脚本

  1. 据说它默认会使用全局 maven 进行打包,如果找不到则会在当前项目下载一个符合要求的版本。给当前项目使用。
  2. 如果项目比较特殊,需要一个与全局 maven 版本不同的来打包。我们也可以它来指定用特定的maven版本进行打包。

安装 Maven Wrapper

如果当前项目的Maven Wrapper已经被我们删掉了,又或是其他原因,总之是没了。现在想挽回这段感情怎么办?安装之:

mvn wrapper:wrapper

Maven Wrapper的版本到这里看:https://maven.apache.org/wrapper/download.cgi

用 Maven Wrapper 打包

用法也和mavenmvn一样。只要把脚本换成mvnw即可。

mvnw clean package

切换 Maven Wrapper 所用的 maven 版本

  • 先查看一下当前的版本:
E:\demo>mvnw -v
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-11T00:41:47+08:00)
Maven home: C:\Users\jerry\.m2\wrapper\dists\apache-maven-3.3.9-bin\6d5080f4\apache-maven-3.3.9
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: D:\JDK8\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "dos"
  • 切换到 3.5.4
    mvn wrapper:wrapper -Dmaven=3.5.4
E:\demo>mvn wrapper:wrapper -Dmaven=3.5.4
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building fastjson2-demo 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-wrapper-plugin:3.1.1:wrapper (default-cli) @ fastjson2-demo ---
[WARNING] Archive entry '.mvn/wrapper/' and existing file 'E:\demo\fastjson2-demo\.mvn\wrapper' names differ only by case. This may lead to an unexpected outcome on case-insensitive filesystems.
[INFO] Unpacked bin type wrapper distribution org.apache.maven.wrapper:maven-wrapper-distribution:zip:bin:3.1.1
[INFO] Configuring .mvn/wrapper/maven-wrapper.properties to use Maven 3.5.4 and download from https://repo.maven.apache.org/maven2
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.500 s
[INFO] Finished at: 2022-09-17T11:48:38+08:00
[INFO] Final Memory: 12M/243M
[INFO] ------------------------------------------------------------------------
  • 查看切换版本结果:
E:\demo>mvnw -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-18T02:33:14+08:00)
Maven home: C:\Users\jerry\.m2\wrapper\dists\apache-maven-3.5.4-bin\3b7e014\apache-maven-3.5.4
Java version: 1.8.0_40, vendor: Oracle Corporation, runtime: D:\JDK8\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"

辅助脚本

清理、打包然后运行

mvnw clean package -Dmaven.test.skip=true && java -jar target\demo.jar

参考资料

Apache Maven Wrapper
Github Apache Maven Wrapper

 类似资料: