最近在部署項目時發現,Maven編譯打包相當耗時,比之前項目用Gradle慢了很多倍,特別是對於WEB工程,打war包花的時間很長,在unix主機下一般會用到3到4分鐘,如果有多個WEB工程,那簡直不能忍受,經過查找資料並結合本人真實驗證,原本編譯打包需要8分鐘的項目,優化編譯後時間減少至34秒。如下圖:
其中下面標紅兩個工程爲WEB工程。下面來說一下進行了哪些優化:
1、增加跳過測試代碼的編譯命令 -Dmaven.test.skip=true ;
2、增加編譯-Dmaven.compile.fork=true 參數,用以指明多線程進行編譯;
3、如果你用的Maven是3.×以上版本,可以增加 -T 1C 參數,表示每個CPU核心跑一個工程;
完整命令如下:
mvn clean package -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true
以上就是本次總結,現記錄於用於備忘,也希望能對正遇到此問題朋友有些許幫助!