成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五分鐘技術趣談 | mvnd:更快的maven來了

開發
相信作為Java開發者的你早已經受夠了maven的編譯緩慢,但是又由于歷史包袱、使用習慣等問題暫時切換不了其他更快的構建工具,這里介紹一款更快的Maven——maven-mvnd。

Labs 導讀

Maven和Gradle都是我們程序猿們日常開發必不可少的構建工具,但兩者還是有很大的不同之處的:1.可擴展性,Gradle比較靈活,maven的靈活性就差一些,但是maven的項目比較容易看懂,并且上手簡單;2.性能比較,Gradle比maven運行得快。Gradle無論是在可擴展性還是在性能方面都優于Maven。

相信作為Java開發者的你早已經受夠了maven的編譯緩慢,但是又由于歷史包袱、使用習慣等問題暫時切換不了其他更快的構建工具,這里介紹一款更快的Maven——maven-mvnd[1]。

Part 01

介紹

mvnd并不是對Maven進行了重構,而是內置了Maven。它實際上是一個或者多個Maven守護進程,用來執行實際的構建服務。一個守護進程實例可以為來自mvnd客戶端的多個連續請求提供Maven構建服務。當沒有空閑的守護進程時來支撐構建請求時,mvnd可以并行生成多個守護程序。

使用GraalVM代替JVM

mvnd之所以快是因為它使用了GraalVM替代了傳統的JVM,因此它啟動更快,占用內存更少,而且在實行構建時不需要為每個構建啟動新的JVM。另外Maven插件在構建時不再需要多次加載,而是緩存在多個構建中。SNAPSHOT版本的Maven插件不會被緩存。

支持JIT

GraalVM的JIT(Just In Time)實時編譯特性也被運用到Maven構建作業中。JIT可以大大降低編譯時間,在重復構建過程中,JIT優化代碼立即可用,也極大提高了構建效率。

并行構建

目前Maven 3的并行構建(parallel builds)還是實驗特性,而且要求使用的插件必須是線程安全的。而mvnd默認就支持使用多個CPU內核進行并行構建。當然如果你的源代碼不支持并行構建,也可以通過添加- T1參數切換到串行構建。

Part 02

簡單嘗試

- 安裝

目前mvnd已經支持Linux、MacOS、Windows平臺。你可以分別通過SDKMAN、Homebrew、Chocolatey這些包管理器進行安裝。也可以直接去mvnd發行版倉庫[2]下載對應的二進制進行安裝。這里以Windows為例,小編選擇 從mvnd發行版倉庫[2]下載壓縮包,如下圖所示:

圖片圖片

選擇下載 maven-mvnd-1.0-m6-m40-windows-amd64.zip版本。

- 配置

配置很簡單,只需要注意幾點:

如果不使用包管理器進行安裝的話請確保mvnd的bin目錄關聯到PATH。

解壓后修改配置文件,修改conf/mvnd.properties。拉到底部修改settings文件目錄,可以指向原安裝maven中的xml文件,也可單獨放到一個目錄中。

圖片圖片

如果沒有配置或者不想配置JAVA_HOME環境變量的話請在~/.m2/mvnd.properties中設置java.home以指定Java目錄,例如:java.home=C:\\AdoptOpenJDK\\jdk-8。已經配置環境變量的請忽略該條。

其他配置可參考mvnd配置[3]。

- 驗證

環境變量配置完成,在cmd的任意地址,可以識別到bin下的 mvnd 命令輸入mvnd -version查看版本信息,輸出如下信息代表安裝成功!

圖片圖片

- 使用

在使用上與Maven的用法是完全相同的,只需將命令mvn改為mvnd即可。而在筆者本機的實測中,與傳統的Maven相比,通過mvnd的構建所耗費的時間大約是原來的1/2。

  • maven構建


圖片圖片

  • mvnd構建(并行)


圖片圖片

  • mvnd構建(串行)


圖片圖片

Part 03

總結

由于GraalVM的加持,這個工具很可能會延長Maven的生命,避免過早被Gradle拉開優勢。對于我們來說,這個項目可以觀望一下,看看Apache Maven官方的進一步動作。

??參考文獻

[1] maven-mvnd: https://github.com/apache/maven-mvnd.

[2] mvnd發行版倉庫: https://github.com/mvndaemon/mvnd/releases.

[3] mvnd配置: https://github.com/mvndaemon/mvnd/blob/master/dist/src/main/distro/conf/mvnd.properties.


責任編輯:龐桂玉 來源: 移動Labs
相關推薦

2023-07-23 18:47:59

Docker開源

2023-07-16 18:49:42

HTTP網絡

2023-04-15 20:25:23

微前端

2023-07-02 16:09:57

人工智能人臉識別

2023-07-02 16:34:06

GPU虛擬化深度學習

2023-07-12 15:50:29

機器學習人工智能

2023-09-12 07:10:13

Nacos架構

2023-08-15 14:46:03

2023-07-31 08:55:15

AI技術網絡暴力

2024-12-18 14:10:33

2023-07-12 16:03:37

Android開發架構

2023-09-17 17:51:43

Android 14

2023-08-06 07:00:59

Openstack網絡

2023-08-06 06:55:29

數字可視化物聯網

2023-07-12 16:13:01

2023-09-02 20:22:42

自動化測試軟件開發

2023-08-07 06:35:07

系統限流

2023-04-15 20:33:35

圖形數據庫數據庫

2021-09-18 11:36:38

混沌工程云原生故障

2023-06-03 21:06:05

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久91精品国产一区二区三区 | 亚洲国产精品一区二区第一页 | 精品av久久久久电影 | 欧美黄 片免费观看 | 亚洲欧美日本国产 | 亚洲一区二区三区在线视频 | 国产视频一视频二 | 国产精品a免费一区久久电影 | 在线伊人网| 日韩亚洲一区二区 | 91精品在线播放 | 亚洲情视频 | 亚洲综合色自拍一区 | 欧美日韩精品专区 | av片在线免费看 | 91传媒在线观看 | 一级少妇女片 | 97成人精品| 国产午夜精品一区二区三区在线观看 | 国产精品永久久久久 | 欧美.com | 亚洲综合热 | h片在线看 | 久草视频网站 | 福利片在线观看 | 久久久久国产一区二区三区 | 欧美一区二区三区在线看 | 国产精品久久毛片av大全日韩 | 亚洲一区中文 | 久久se精品一区精品二区 | 成人免费大片黄在线播放 | 99热这里都是精品 | 国产精品欧美一区二区 | 亚洲最大的黄色网址 | 国产一区在线免费 | 精品免费 | 日韩久久成人 | 91精品国产综合久久婷婷香蕉 | 日本成人午夜影院 | 成人激情免费视频 | 精品视频一区二区三区 |