maven-編譯速度優化


故障描述:

  公司搭建了一個新jenkins持續集成環境,jenkins構建job時間越來越長。

原因分析及解決:

  •   系統CPU限制:判斷依據,構建中查看日志 tail -f /var/log/messages 是否有 “Package power limit normal”
    •   如果是mac機器:系統偏好設置>拓展程序>所有,反選所有你不需要的拓展。然后進入系統偏好設置>節能,在更長續航和更高性能中勾選后者,完成后重啟計算機
  •   設置java內存:-Xms800m -Xmx800m -XX:MaxNewSize=512m  -XX:MaxPermSize=512m
    • 如果需要是堆內存不夠,則設置最大堆大小-Xmx,如果是持久代溢出,比如出現PermGen space異常,則設置-XX:MaxPermSize即可
    •  set MAVEN_OPTS= -Xms800m -Xmx800m -XX:MaxNewSize=512m  -XX:MaxPermSize=512m
  •   增加跳過測試代碼的編譯命令: -Dmaven.test.skip=true 
  •   指明多線程進行編譯:-Dmaven.compile.fork=true
  •   增加CPU核心參數:-T 1C 
    • Maven是3.×以上版本支持
  •   遠程倉庫慢:增加帶寬
    •   該問題只會在第一次同步遠程jar的時候較多
  •   achetype-catalog.xml文件的訪問問題:
    •   achetype-catalog.xml記錄了所有archetype構建信息,maven通過archetype插件構建項目骨架時會遠程訪問頁面,通過maven的-X參數可以證明這一點。
      • [DEBUG] -- end configuration --  
        [INFO] Generating project in Batch mode  
        [DEBUG] Searching for remote catalog: http://repo1.maven.apache.org/maven2/archetype-catalog.xml   
    • 網絡慢的情況下訪問該文件非常消耗時間,翻閱Maven官方文檔可以找到能夠將文件保存到本地,成為一種解決思路。
      •   http://maven.apache.org/archetype/maven-archetype-plugin/specification/archetype-catalog.html   
      • 1)准備archetype-catalog.xml文件
          方式1:通過瀏覽器查看http://repo1.maven.org/maven2/archetype-catalog.xml頁源碼,復制到本地,命名為archetype-catalog.xml。
          方式2:通過命令行  curl http://repo1.maven.org/maven2/archetype-catalog.xml > archetype-catalog.xml
        2)將上述文件放置到maven的默認路徑下
            注意,這不是指的安裝路徑,而是mvn運行時默認的存放repository的路徑,一般在用戶根目錄下的一個隱藏目錄,~/.m2。如果做過更改,可以在maven的設置文件中查看
        具體在哪個位置,設置文件在maven安裝目錄/config/settings.xml中。 3)在構建時,在archetype:generate后加上 -DarchetypeCatalog=local參數。
      •   

         

         

         

          
    • 調整倉庫順序:settings中  把 “本地倉庫” 和 “Maven Central” 倉庫放到前兩位 其他也按用到的多少排列
    •   maven國內鏡像:同公司保持一致。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM