使用新版Maven-mvnd快速构建项目

2023-09-14 11:17:16

目前我们项目的构建方式多数是 maven、gradle,但是 maven 相对 gradle 来说,构建速度较慢,特别是模块相对较多的时候,构建速度更加明显。但是我们将项目由 maven 替换为 gradle 相对来说会比较麻烦,成本较高。于是我们可以选择 mvnd 来构建项目,可以使得构建项目速度更快,而且项目无需任何改动。

1、下载 mvnd

github 地址:

https://github.com/apache/maven-mvnd

在这里插入图片描述

我使用的是 windows 系统,所以我下载了 maven-mvnd-1.0-m6-m39-windows-amd64.zip 包

2、安装 mvnd

将下载的压缩包进行解压,并将 bin 目录添加进环境变量 path 中,例如我的目录是:

D:\mvnd\maven-mvnd-1.0-m6-m39-windows-amd64\bin

所以将此目录添加进 path 中即可,测试是否安装成功

mvnd -v

在这里插入图片描述

出现图中信息表示安装成功

3、使用 mvnd

我们使用 maven 进行构建项目的命令是:

mvn clean install

同样,我们使用 mvnd 构建项目的命令是:

mvnd clean install

4、配置修改

为了最小程度的兼容原来的 Maven,可以使用 maven 原来的 setting.xml 文件,打开 Maven-mvnd 安装目录下 的 /conf/mvnd.properties 文件,修改如下:

maven.settings=D://maven//apache-maven-3.5.4//conf//settings.xml

5、构建速度测试

首先我们使用 maven 进行构建,项目有 27 个子模块,构建时间如下图所示:

在这里插入图片描述

我们使用 mvnd 进行构建,项目同样有 27 个子模块,构建时间如下图所示:

在这里插入图片描述

可以看出,maven 构建耗时 43.158 s,mvnd 构建耗时 9.186 s,速度提升了近 5 倍

如您在阅读中发现不足,欢迎留言!!!

更多推荐

想要精通算法和SQL的成长之路 - 最长回文子串

想要精通算法和SQL的成长之路-最长回文子串前言一.最长回文子串1.1中心扩散法的运用前言想要精通算法和SQL的成长之路-系列导航一.最长回文子串原题链接1.1中心扩散法的运用这类具有回文性质的题目,我们如果用常规的从左往右或者从右往左的遍历方式,在编码上往往比较麻烦。那不妨,我们以字符串中的每一个字符为起点,同时向左

typedef function<int (int,int)> func_t;

这段代码是C++中用于创建函数类型别名(functiontypealias)的语法。让我们来逐步解释它:typedef:typedef是C++中的关键字,用于创建类型别名。它允许你为一个已存在的类型创建一个新的、易于使用的名称。function:这部分指定了要创建的类型别名的名称。在这里,我们将创建一个名为fun_t的

电脑如何查看代理服务器IP?

许多人在使用互联网时可能会遇到需要使用代理服务器的情况。但是,你知道如何在电脑上查看代理服务器IP吗?本文将为您分享简单易懂的方法,帮助您轻松了解代理设置的秘密!代理服务器在网络世界中担任着重要的角色,它可以充当中间人,转发用户和目标服务器之间的请求和响应。使用代理服务器可以带来许多好处。那么,要如何查看代理服务器IP

flutter开发实战-自定义长按TextField输入框剪切、复制、选择全部菜单AdaptiveTextSelectionToolba样式UI效果

flutter开发实战-自定义长按TextField输入框剪切、复制、选择全部菜单样式UI效果在开发过程中,需要长按TextField输入框cut、copy设置为中文“复制、粘贴”,我首先查看了TextField中的源码,看到了ToolbarOptions、AdaptiveTextSelectionToolbar,这时

java面试题-并发编程相关面试题

java面试题-并发编程相关面试题1线程的基础知识面试官:聊一下并行和并发有什么区别?候选人:是这样的~~现在都是多核CPU,在多核CPU下并发是同一时间应对多件事情的能力,多个线程轮流使用一个或多个CPU并行是同一时间动手做多件事情的能力,4核CPU同时执行4个线程面试官:说一下线程和进程的区别?候选人:嗯,好~进程

<Altium Designer> 将.DSN文件导入并转换成SchDoc文件

目录01使用向导方式导入.DSN02消除UniqueIdentifiersErrors03文章总结大家好,这里是程序员杰克。一名平平无奇的嵌入式软件工程师。本文主要是总结和分享将OrCADCapture画的原理图文件(.DSN)导入到AltiumDesigner,转换成对应的原理图文件(SchDoc)的方法。本文所使用

MySQL正则表达式:模式匹配、中文匹配、替换、提取字符串

在MySQL中,使用REGEXP或RLIKE操作符进行正则表达式匹配,而使用NOTREGEXP或NOTRLIKE操作符进行不匹配。一些常用的MySQL正则表达式语法:匹配字符:.:匹配任意字符(除了换行符)。[]:匹配方括号中的任意字符。[^]:匹配不在方括号中的任意字符。匹配重复:*:匹配零个或多个前面的字符。+:匹

【C++从0到王者】第三十一站:map与set

文章目录一、关联式容器二、pair键值对三、set1.set的介绍2.set的部分接口以及应用3.count4.lower_bound和upper_bound5.equal_range6.multiset容器四、map1.map的介绍2.map的一些常见接口以及使用3.map的[]运算符重载4.使用map改进一些题5.

代理IP和Socks5代理:跨界电商与爬虫的智能引擎

跨界电商,作为全球市场的一部分,对数据的需求越来越大。同时,随着互联网的发展,爬虫技术也在不断演进,成为了跨界电商的关键工具之一。然而,随之而来的是网站的反爬虫机制和网络安全风险。在这种情况下,代理IP和Socks5代理应运而生,为企业提供了数据采集的解决方案和网络安全的保护。本文将深入研究代理IP和Socks5代理在

应用平台 - OPPO敏感权限

那天在OPPO平台更新app时,发现平台权限升级,新增了敏感权限校验,而且还是必填项…Google从Android6.0开始就对权限做了分类适配,粗浅来看将权限分为了普通权限、危险权限(运行时权限、敏感权限),如果需要用到危险权限除了需要在AndroidManifest(清单文件)注册之外,我们还需要进行申请动态权限有

【配电变电站的最佳位置和容量】基于遗传算法的最优配电变电站放置(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。⛳️座右铭:行百里者,半于九十。📋📋📋本文目录如下:🎁🎁🎁目录💥1概述📚2运行结果🎉3参考文献🌈4Matlab代码实现💥1概述基于遗传算法的最优配电变电站放置为了实现配电变电站

热文推荐