大家好,我是程序员大猩猩。
在我们程序开发过程中,其中必不可少的一环就是程序代码编译。众所周知我们经常使用的编码工具有俩种,一种为Maven,另一种就是Gradle。
Maven 99% 应该使用在我们Springboot微服务开发中,而Gradle使用在Android开发中。
但是经过长时间迭代和版本更新,我们单从运行和编译速率上讲Gradle现在远胜与Maven。
虽然Maven也有它比Gradle灵活多变的特性,但是对于我们来讲,运行速率才是我们真正追求的。也许Maven也想到了这一点,随即借鉴了Gradle的机制,开发了一套自己Maven增强工具类-Maven-mvnd。
Maven-mvnd大大增强了编译的速度,它在设计上,使用一个或多个守护进程来构建服务,以此来达到并行的目的!同时,maven-mvnd 内置了maven,因此在maven 过渡到 maven-mvnd的过程中,可以实现无缝切换!不必再安装maven或进行复杂的配置更改。
官往源码地址:
maven-mvndhttps://github.com/apache/maven-mvnd接下来我们看下如何在IDEA下,使用mvnd插件。
一、安装Maven-mvnd
a. 使用git下载最新版本
maven-mvnd releaseshttps://github.com/apache/maven-mvnd/releases
如上图,目前最新版本的mvnd是1.0-m8版本,releases下方有不同系统版本的下载安装包,选择自己适配的系统版本进行安装即可。
b. 解压,配置环境变量
将下载的压缩包解压后,我们配置一下环境变量,配置其中bin目录地址到系统 path环境的变量中,如何配置环境变量我就不再论述了。
环境配置完成后,我们在终端输入 mvnd -version 查看版本信息。
本人本地mvnd是m7版本,故不再更新。
正确输出mvnd版本信息后,我们的mvnd已经安装完成,那么我们怎么在IDEA中使用它呢?
二、配置mvnd在IDEA
有开发用户已经给IDEA提出过,是否可以将mvnd配置在IDEA中,让开发人员原生使用,但是IDEA的官方明确回复maven已经达到原生支持,可以使用另外的shell插件来实现maven的编译。
那么我们就shell插件来实现一下。
打开IDEA并且使用Edit Configurations新建一个Shell Script
按照下图的方式我们输入相关命令和选择项目即可。
mvnd clean package -Pdev -pl cloud-server/office-eureka-manager -am -Dmaven.test.skip=true
上方是我的一个运行eureka的命令。
clean package:首先清理后打包命令 |
-Pdev 使用开发环境编译,配合pom内profiles使用。 |
-pl 运行路径-Dmaven.test.skip=true 调过测试 |
我们点击运行然后我们点击运行即可。
以上是maven和mvnd的运行速度对比,经过几次的测试,效率速度明显以二倍不止的提高。