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的隐藏文件夹。如下图所示:

我们再看下 .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.zip
wrapperUrl=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的博客

Maven Wrapper简介的更多相关文章

  1. Java-Maven(一):Maven的简介与安装

    Maven的简介 Maven是什么? Maven是一个项目管理和整合的工具.Maven为开发者提供了一套完整的构建生命周期框架.开发者可以通过Maven更快的自动完成工程的基础构建陪孩子,因为Mave ...

  2. mvnw是什么(Maven Wrapper/Maven保持构建工具版本一直的工具)

    背景 Maven是一款非常流行的Java项目构建软件,它集项目的依赖管理.测试用例运行.打包.构件管理于一身,是我们工作的好帮手,maven飞速发展,它的发行版本也越来越多,如果我们的项目是基于Mav ...

  3. Maven Wrapper(mvnw)

    Maven Wrapper Maven Wrapper是一个Maven插件,用于封装提供Maven项目构建时所需要的一切.这么说可能比较抽象,来举个具体的例子吧. 一个Maven项目由多人协作维护,某 ...

  4. Maven工具-简介

    Maven工具-简介 定义 ①maven是一款服务于java平台的自动化构建工具 make→Ant→maven→Gradle ②构建 [1]概念:以"java源文件"." ...

  5. Maven的简介

    1 What? 1.1 Maven 简介Maven 是 Apache 软件基金会组织维护的一款自动化构建工具,专注服务于 Java 平台的项目构建和依赖管理.Maven 这个单词的本意是:专家,内行. ...

  6. 2、Maven的简介和配置

    1.下载Maven  apche-maven-3.5.2 2. 三.maven简介 1.基于Ant的构建工具,Ant有的功能Maven都有,额外添加了其他的功能 2.运行原理图 2.1本地仓库:计算机 ...

  7. Java Service Wrapper简介与使用

    在实际开发过程中很多模块需要独立运行,他们并不会以web形式发布,传统的做法是将其压缩为jar包独立运行,这种形式简单易行也比较利于维护,但是一旦服务器重启或出现异常时,程序往往无法自行修复或重启.解 ...

  8. 搭建maven项目简介

    http://jingyan.baidu.com/album/9f7e7ec0b714ae6f29155465.html?picindex=1 Maven学习 (一) 搭建Maven环境 http:/ ...

  9. Maven学习-简介、安装

    Maven是一个项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目声明周期,一个依赖管理系统和用来运行定义在生命周期阶段中插件目标的逻辑.Maven采用了约定优于配置这一基本原则.在没有自 ...

随机推荐

  1. C - Monkey and Banana

    文章目录 题意如下 思路如下 题解如下: A group of researchers are designing an experiment to test the IQ of a monkey. ...

  2. Emergency Evacuation(最短下车时间)———(思维)

    题意: 给你一个车厢和一些人的位置,这些人都坐在座位上,求这些人全部出去的时间最小值. 注意: 有许多行座位,且每行关于过道对称,出口在过道一端,一个时间只能移动一个单位,且每时刻每个格子只能有一人 ...

  3. 摩尔投票算法( Boyer-Moore Voting Algorithm)

    一.Majority Element题目介绍:给定一个长度为n的数组的时候,找出其中的主元素,即该元素在数组中出现的次数大于n/2的取整.题目中已经假定所给的数组一定含有元素,且主元素一定存在.一下是 ...

  4. app测试的一些较为重要的测试点

    安装测试 从不同的手机所自带的不同的版本的软件商城里面下载抖音并安装查看是否成功 安装后是否能正常运行安装后的文件和文件夹是否写到了指定的目录里 安装过程中取消安装,安装的文件是否在指定的目录里 安装 ...

  5. CF633(div.2)B. Sorted Adjacent Differences

    题目描述 http://codeforces.com/contest/1339/problem/B 有一个长度为 \(n(3\le n \le 10^5)\) 的整数序列 \(a_1,a_2,..., ...

  6. HAproxy 基础配置

    基础配置详解 HAProxy 的配置文件haproxy.cfg由两大部分组成,分别是global和proxies部分 global:全局配置段 进程及安全配置相关的参数性能调整相关参数Debug参数 ...

  7. Python设计模式(11)-状态模式

    # coding=utf-8 # *状态模式:一个方法的判断逻辑太长,就不容易修改.方法过长,其本质就是,# * 就是本类在不同条件下的状态转移.状态模式,就是将这些判断分开到各个能# * 表示当前状 ...

  8. shell 数组遍历加引号和不加引号的区别?

    前言 shell 是一个比较神奇的国度,里面有太多的坑需要填,今天需要填的坑就是,数组遍历在使用时加了引号和不加引号的区别. 案例 解析: 不加引号,数组中元素间的“空格”就会编程换行符 加引号,  ...

  9. 数据结构和算法(Golang实现)(11)常见数据结构-前言

    常见数据结构及算法 数据结构主要用来组织数据,也作为数据的容器,载体. 各种各样的算法,都需要使用一定的数据结构来组织数据. 常见的典型数据结构有: 链表 栈和队列 树 图 上述可以延伸出各种各样的术 ...

  10. SaaS、PaaS、IaaS的含义与区别

    先上个图,直观的了解一下 云计算有SPI,即SaaS.PaaS和IaaS三大服务模式. PaaS和IaaS源于SaaS SaaS Software as a Service 软件即服务,提供给客户的服 ...