Maven Wrapper
Maven Wrapper
1.Maven包装器
Maven用作项目的依赖管理、测试用例运行、打包、构件管理于一身;
随着maven飞速发展,它的发行版本也越来越多,如何保证你使用的Maven的版本和下载你源码的人的Maven的版本一致呢,这时候mvnw就大显身手了。
mvnw全名是Maven Wrapper,它的原理是在maven-wrapper.properties文件中记录你要使用的Maven版本,当用户执行mvnw clean 命令时,发现当前用户的Maven版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行mvn命令,比如刚才的mvn clean。
maven的包装器,通过mvnw命令替代mvn,简化mvn操作
.mvn文件夹存放着maven-wrapper.properties和maven-wrapper.properties.jar包以及名为MavenWrapperDownloader的java文件;
Maven Wrapper更简单确保Maven构建的用户拥有运行Maven构建所需的一切;
Maven对于用户来说非常稳定,但是随着Maven变化,用户将更容易拥有项目提供的完全封装的构建设置;
Maven Wrapper更容易做到,这是从Gradle借来的好主意;
2.使用方法
为项目添加mvnw支持很简单,有两种方式:
方法一:在pom.xml中添加Plugin声明:
<plugin><groupId>com.rimerosolutions.maven.plugins</groupId><artifactId>wrapper-maven-plugin</artifactId><version>0.0.4</version>
</plugin>
这样当我们执行mvn wrapper:wrapper 时,会帮我们生成mvnw.bat、mvnw、maven/maven-wrapper.jar、maven/maven-wrapper.properties这些文件;
然后我们就可以使用mvnw代替mvn命令执行所有的maven命令,比如mvnw clean package;
方法二:直接执行Goal(推荐使用这种)
#表示我们期望使用的Maven的版本为3.6.2
mvn -N io.takari:maven:wrapper -Dmaven=3.6.2
产生的内容和第一种方式是一样的,只是目录结构不一样:
maven-wrapper.jar和maven-wrapper.properties在".mvn/wrapper"目录下
使用的注意事项:
1、由于我们使用了新的Maven ,如果你的settings.xml没有放在当前用户下的.m2目录下,那么执行mvnw时不会去读取你原来的settings.xml文件
2、在mvnw.bat中有如下的一段脚本:if exist “%M2_HOME%\bin\mvn.cmd” goto init,意思是如果找到mvn.cmd就执行初始化操作,但是Maven早期版本不叫mvn.cmd,而是叫mvn.bat,所以会报"Error: M2_HOME is set to an invalid directory"错误,改成你本地的maven的匹配后缀就好了。
参考:
https://github.com/takari/maven-wrapper
https://www.cnblogs.com/EasonJim/p/7620085.html
Maven Wrapper相关推荐
- Spring Boot下无法加载主类 org.apache.maven.wrapper.MavenWrapperMain问题解决
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 引言: 在SpringBoot中需要使用mvnw来做相关操作,但是却有时候会报出达不到MavenWr ...
- Maven Wrapper简介
简介 开发java项目少不了要用到maven或者gradle,对比gradle而言,可能maven要更加常用一些.要使用maven那就必要要安装maven,如果有些用户不想安装maven怎么办?或者说 ...
- 一文搞懂Maven Wrapper
介绍 Maven Wrapper是受到Gradle Wrapper的启发而来的.它使Maven的一些配置 wrap 到项目里面,同时赋予了项目使用执行Maven版本的能力. 安装 方式一:在项目根目录 ...
- Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd
Maven Wrapper 之 SpringBoot 项目下的 mvnw.cmd Maven Wrapper 文件 安装 Maven Wrapper 用 Maven Wrapper 打包 切换 Mav ...
- Maven Wrapper(mvnw)
Maven Wrapper Maven Wrapper是一个Maven插件,用于封装提供Maven项目构建时所需要的一切.这么说可能比较抽象,来举个具体的例子吧. 一个Maven项目由多人协作维护,某 ...
- 换掉 Maven,我用它!!!
点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 来源:toutiao.com/i68249377791939 ...
- 终于放弃了Maven,我选择用Gradle!
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者 :乐百川 本文来源:toutiao.com/i682 ...
- 自从用完 Gradle 后,有点嫌弃 Maven 了!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 :乐百川 本文:toutiao.com/i682493777 ...
- 放弃Maven以后,我用了它。。。
转自:乐百川 链接:toutiao.com/i6824937779193971207 相信使用Java的同学都用过Maven,这是一个非常经典好用的项目构建工具.但是如果你经常使用Maven,可能会发 ...
最新文章
- 可视化深入理解损失函数与梯度下降 | 技术头条
- springmvc:BeanNameViewResolver访问内部资源视图对象和访问外部资源视图对象
- [原创]SpotLight性能监控工具使用介绍
- c++ 虚继承与继承的差异
- Graph Coloring I
- Sentinel(二十四)之Sentinel Dashboard中修改规则同步到ZooKeeper
- 哪些行业形势好?大数据帮你预测今年就业“风口”
- [uva816]AbbottsRevenge Abbott的复仇(经典迷宫BFS)
- 关于React中状态保存的研究
- mac下virtualbox虚拟机centos联网问题
- 其实我的直觉告诉了我的未来
- SSE优化系列十:RGB和YUV格式图像互转SSE优化
- k3c最新官改非常稳定了_2020国庆过后玉米价格最新行情走势
- 基于Android的城市环境监测系统
- Python项目如何打包成whl文件
- 如何获取Linux的主机名和域名?
- 使用它给 ​xxl-job 添加任务,太爽了
- pandas.plotting.scatter_matrix 参数
- css 控制 段落 超出三行的部分显示...
- 158. 精读《Typescript 4》