Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd
Posted 笑虾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd相关的知识,希望对你有一定的参考价值。
Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd
Maven Wrapper 文件
每次创建项目后都会有这几个文件,很多教程都直接说删掉
,也没介绍一下。
E:.
│ mvnw
│ mvnw.cmd
├─.mvn
│ └─wrapper
│ maven-wrapper.jar
│ maven-wrapper.properties
│ MavenWrapperDownloader.java
└─ 略...
其实这个mvnw
可以理解为一个当前项目特供的 mavn
mvnw
:linux 版脚本
mvnw.cmd
: windows 版脚本
- 据说它默认会使用全局 maven 进行打包,如果找不到则会在当前项目下载一个符合要求的版本。给当前项目使用。
- 如果项目比较特殊,需要一个与全局
maven
版本不同的来打包。我们也可以它来指定用特定的maven
版本进行打包。
安装 Maven Wrapper
如果当前项目的Maven Wrapper
已经被我们删掉了,又或是其他原因,总之是没了。现在想挽回这段感情怎么办?安装之:
mvn wrapper:wrapper
Maven Wrapper
的版本到这里看:https://maven.apache.org/wrapper/download.cgi
用 Maven Wrapper 打包
用法也和maven
的 mvn
一样。只要把脚本换成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
以上是关于Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd的主要内容,如果未能解决你的问题,请参考以下文章
Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd
无法找到或加载主类 org.apache.maven.wrapper.MavenWrapperMain
mvnw是什么(Maven Wrapper/Maven保持构建工具版本一直的工具)
详解Maven项目利用java service wrapper将Java程序生成Windows服务
Maven nexus 安装nexus : wrapper | OpenSCManager failed - 拒绝访问。 (0x5)