故障描述:

  公司搭建了一个新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国内镜像:同公司保持一致。

maven-编译速度优化的更多相关文章

  1. dWebpack编译速度优化实战

    当你的应用的规模还很小时,你可能不会在乎Webpack的编译速度,无论使用3.X还是4.X版本,它都足够快,或者说至少没让你等得不耐烦.但随着业务的增多,嗖嗖嗖一下项目就有上百个组件了,也是件很简单的 ...

  2. Android Sutido 编译速度优化

    虽然Android Studio 此时已经更新到了Android Studio 2.1版本,build 版本android-studio-bundle-143.2739321.但是在安装该版本都是根据 ...

  3. idea 中maven编译速度过慢的问题的解决

    解决方案一 在创建Maven项目时加上 archetypeCatalog=internal 参数,如下: 解决方案二 在maven的VM Options加上-DarchetypeCatalog=int ...

  4. 优化MyEclipse编译速度慢的问题、build、project clean 慢

    优化MyEclipse编译速度慢的问题(重点是1) 1 .关闭MyEclipse的自动validation windows > perferences > myeclipse > v ...

  5. [COCOS2DX]交叉编译实践+速度优化(vs2012修改win32代码+修改makefile+编译安卓项目包+部署安卓项目包到Eclipse+运行apk)

    通过前面的部署过程可以知道cocos2dx的开发过程如下: 1.VS2012完成修改 2.因为指定了CPP文件位置,ndk可以通过jni方式完成C++文件的编译,运行以下命令完成proj.androi ...

  6. Linux Makefile 编译速度的优化【转】

    转自:https://blog.csdn.net/QQ1452008/article/details/51851801 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...

  7. 使用ant优化android项目编译速度,提高工作效率

    1.Android项目编译周期长,编译项目命令取消困难 2.在进行Android项目的编译的同时,Eclipse锁定工作区不能进行修改操作 3.在只进行资源文件的修改时,Eclipse对资源文件的修改 ...

  8. 微信团队分享:极致优化,iOS版微信编译速度3倍提升的实践总结

    1.引言 岁月真是个养猪场,这几年,人胖了,微信代码也翻了. 记得 14 年转岗来微信时,用自己笔记本编译微信工程才十来分钟.如今用公司配的 17 年款 27-inch iMac 编译要接近半小时:偶 ...

  9. Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度

    原文:Visual Studio 使用 Parallel Builds Monitor 插件迅速找出编译速度慢的瓶颈,优化编译速度 嫌项目编译太慢?不一定是 Visual Studio 的问题,有可能 ...

  10. Android Studio优化编译速度

    随着Android Studio的不断完善,其安卓开发者阵营也基本从Eclipse转移到了Android Studio,毕竟Android Studio是谷歌亲力亲为开发的官方开发软件.不过其最重要的 ...

随机推荐

  1. python通过excel对数据库插入数据

    1.需要有两个包文件xlrd及MySQLdb(其他数据库可以另外找) 2.读取excel文件信息 book = xlrd.open_workbook(文件地址) 3.建立MySQL链接 databas ...

  2. EntityFramework Core迁移时出现数据库已存在对象问题解决方案

    前言 刚开始接触EF Core时本着探索的精神去搞,搞着搞着发现出问题了,后来就一直没解决,觉得很是不爽,借着周末好好看看这块内容. EntityFramework Core迁移出现对象在数据库中已存 ...

  3. SQL之trigger(触发器)

    先来看一小段程序 有如下三张表: 帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期) create trigger tri_ ...

  4. 配置IIS让网站可以播放mp4文件

    最近遇到这么一个问题,网站当中的mp4不能播放了--每次点击播放的时候都会产生404的错误(如下图).这个问题来得有些蹊跷,因为在这台服务器上其他的文件都能正常执行,比如xml.jpg.aspx等文件 ...

  5. 技术分析 | 新型勒索病毒Petya如何对你的文件进行加密

    6月27日晚间,一波大规模勒索蠕虫病毒攻击重新席卷全球. 媒体报道,欧洲.俄罗斯等多国政府.银行.电力系统.通讯系统.企业以及机场都不同程度的受到了影响. 阿里云安全团队第一时间拿到病毒样本,并进行了 ...

  6. 马踏棋盘算法递归+回溯法实现 C语言

    r为矩阵的行,c为矩阵的列 将结果输出到当前目录下的results.txt. 结果将给出:1.是否存在路径使马可以按要求走遍所有的方格: 2.解的总数: 3.程序执行的时间: #include< ...

  7. 2.Smarty的引入和实例化

    1.把demo和lib复制出来,并且创建一个test文件夹作为工作的目录 如图所示: 2.这是libs里面的内容,其中smarty.class.php包含了smarty各种方法和功能,需要实例化它还工 ...

  8. 极致精简的webservice例子

    看了网上好多关于webservice的例子,基本上对初学者来说都是模棱两可云里雾里,现在,我将网上关于webservice的讲解提炼出来,通过一个最简单使用并且方便的例子,告诉大家什么是webserv ...

  9. cygwin安装gcc/g++

    安装cygwin如果按照默认的方式一直点下去的话,安装完了会发现没有安装gcc/g++. 这个时候可以在安装文件的目录打开命令行,并输入: setup-x86_64.exe -q -P wget -P ...

  10. js模块化/js模块加载器/js模块打包器

    之前对这几个概念一直记得很模糊,也无法用自己的语言表达出来,今天看了大神的文章,尝试根据自己的理解总结一下,算是一篇读后感. 大神的文章:http://www.css88.com/archives/7 ...