Maven Wrapper简介

Stella981
• 阅读 1006

Maven Wrapper简介

简介

开发java项目少不了要用到maven或者gradle,对比gradle而言,可能maven要更加常用一些。要使用maven那就必要要安装maven,如果有些用户不想安装maven怎么办?或者说用户不想全局安装maven,那么可以使用项目级别的Maven Wrapper来实现这个功能。

如果大家使用IntelliJ IDEA来开发Spring boot项目, 如果选择从Spring Initializr来创建项目,则会在项目中自动应用Maven Wrapper。简单点说就是在项目目录下面会多出两个文件:mvnw 和 mvnw.cmd。

Maven Wrapper的结构

mvnw是Linux系统的启动文件。

mvnw.cmd是windows系统的启动文件。

本文不会详细讲解启动文件的内部信息,有兴趣的小伙伴可以自行去研究。除了这两个启动文件,在项目中还会生成一个.mvn的隐藏文件夹。如下图所示:

Maven Wrapper简介

image

我们再看下 .mvn/wrapper/maven-wrapper.properties :

distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.3/apache-maven-3.6.3-bin.zipwrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar

这个文件指定了maven和maven wrapper的版本。

下载Maven Wrapper

如果不是使用IntelliJ IDEA,我们该怎么样下载Maven Wrapper呢?

在程序的主目录下面:

mvn -N io.takari:maven:wrapper

如果要指定maven版本:

mvn -N io.takari:maven:wrapper -Dmaven=3.5.2

-N 意思是 –non-recursive,只会在主目录下载一次。

使用

Maven Wrapper的使用和maven命令是一样的,比如:

./mvnw clean install./mvnw spring-boot:run

更多教程请参考 flydean的博客

本文分享自微信公众号 - 程序那些事(flydean-tech)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Gradle + GitHub Actions 自动发布项目至 Maven 仓库
摘要文章内容核心是使用Gradle整合GitHubActions自动化发布Java项目至Maven仓库。文章内是将项目发布至sonatype提供的仓库中。如果你需要自动化发布,或者需要将项目同步至Maven中央仓库请仔细阅读。前期准备1.可同步Maven中央仓库的门票,在IssuesSona
Stella981 Stella981
3年前
Apache Maven ToolChains的使用
简介Maven是java中非常有用和常用的构建工具,基本上现在大型的java项目都是Maven和gradle的天下了。因为JDK的版本现在以每半年一次的速度在飞速发展。不同的JDK版本就有不同的java路径,我们在使用Maven的过程中,可能经常会需要切换JDK的版本。一般来说我们可以在mavencompilerplugin中配置好ex
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
01.Flink笔记
Flink开发环境部署配置Flink是一个以Java及Scala作为开发语言的开源大数据项目,代码开源在github上,并使用maven来编译和构建项目。所需工具:Java、maven、Git。本次操作是在windows环境下。一、工具安装Java配置(略)maven配置1.
Stella981 Stella981
3年前
Maven使用 国内镜像配置
Maven使用国内镜像配置  Maven  setting.xml中配置<repositories<repository<idnexus</id<namelocalprivatenexus</name
Wesley13 Wesley13
3年前
2分钟快速发布自己的项目供别人在pom里依赖
大家经常会在maven、gradle里依赖别人的项目或模块。大家知道,别人的项目都是发布在maven中央仓库的,要经历一系列的步骤方能上传成功,才能供别人依赖。!(https://static.oschina.net/uploads/img/202007/06131557_Knx5.png)这里要说一种简单方式,2分钟就让你的项目可以供大家使用。
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这