加速 SBT 下载依赖库的速度

转载 2015年11月19日 13:25:41

SBT翻墙手册:http://afoo.me/posts/2014-11-05-how-make-sbt-jump-over-GFW.html

根据 SBT 的官网文档中 Proxy Repositories 部分的描述, 可以通过改变repositories 的 url 列表来优化.

配置国内代理库

感谢 OSChina 提供了 Maven Center 的镜像, 配置添加它有助于提升下载速度.

[repositories]
  local
  oschina:http://maven.oschina.net/content/groups/public/ 

若你知道其他更快的镜像库, 同上配置.一般互联网企业部署了供内部使用的镜像库(如 nexus ), 也可以配置于此.

兼容 Ivy 路径布局

大多数中心仓库(repository)是 Maven 的路径布局, 这就导致 SBT 的插件和部分 Ivy依赖无法从其下载.

[repositories]
  local
  oschina:http://maven.oschina.net/content/groups/public/ 
  oschina-ivy:http://maven.oschina.net/content/groups/public/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] 

精简 url 列表

远程仓库越多越全, 可以基本避免下载不到的问题. 但是, 也可能让下载的时间更长, 让你不愿在等待而放弃下载.

因为, 下载过程中 SBT 会串行的 "询问" 列表中所有的远程仓库, 无论是否找得到.

当依赖树越大, 整个下载的过程就更漫长. 若再遇到响应慢的仓库, 情况恶化的令人发指.

推荐列表策略是:

  • 本地仓库
  • 国内(或内网)镜像仓库
  • 国外官方仓库, 通常 # 注释掉, 待上面不管用时, 去掉 # 再做尝试

上面办法不管用

我建议使用你熟悉的网络嗅探手段查清具体原因, 对症下药了.

一个可行的方案

  1. 下载 HTTP 代理工具 mitmproxy , 并运行它
  2. 启动 SBT 时, 附加参数 -Dhttp.proxyHost=loalhost -Dhttp.proxyPort=8080 , 这会将 SBT 所有的 HTTP 请求经由 mitmproxy 转发
  3. 通过 mitmproxy 来分析 HTTP 请求失败的具体原因

Scala sbt 添加国内镜像

sbt运行时经常需要下载大量的jar包,默认连接到maven官网,速度通常比较慢。 在`~/.sbt/`下添加一个`repositories`文件,里面内容如下: [repositories] loc...
  • mmical
  • mmical
  • 2014年12月14日 16:04
  • 18640

sbt项目构建过慢解决办法

最近因为环境迁移的原因需要重新构建一下之前的scala项目,然而被sbt过慢折磨的要死,打了一个多小时游戏还是卡在同一个进度不动,特地研究了一下处理了一波。sbt构建过慢原因sbt是scala项目经常...
  • dumplings_ming
  • dumplings_ming
  • 2016年08月18日 01:34
  • 3238

SBT下载特别慢的问题解决

sbt运行时经常需要下载大量的jar包,默认连接到maven官网,速度通常比较慢。 在`~/.sbt/`下添加一个`repositories`文件,里面内容如下: 帮助 1 2 3...
  • spider_zhcl
  • spider_zhcl
  • 2015年09月25日 20:05
  • 8131

sbt第一次运行下载jar包很慢解决办法

一、补充sbt配置文件,添加下载路径 文件结构如下:修改了sbtconfig.txt,repo.properties.   sbtconfig.txt配置内容为: ...
  • chongxin1
  • chongxin1
  • 2017年07月31日 21:34
  • 1518

Ubuntu SBT 加速 方案

在~/.sbt/下创建repositories,文件内容如下: [repositories] local oschina: http://maven.oschina.net/content/gr...
  • coddz
  • coddz
  • 2015年01月31日 21:48
  • 1666

sbt 超级慢--解决

本文转自http://www.cnblogs.com/shortboy/p/6069517.html 今天开始看Scala,入坑从maven编译改为sbt,在网上百度了半天老是报错,sbt镜像服务器...
  • dwryuan
  • dwryuan
  • 2017年02月20日 16:19
  • 2285

加速 SBT 下载依赖库的速度

SBT翻墙手册:http://afoo.me/posts/2014-11-05-how-make-sbt-jump-over-GFW.html 根据 SBT 的官网文档中 Proxy Repos...
  • ASIA_kobe
  • ASIA_kobe
  • 2015年11月19日 13:25
  • 1169

Android常用开源项目

Android开源项目第一篇——个性化控件(View)篇   包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、Progr...
  • chengkaizone
  • chengkaizone
  • 2016年05月03日 09:27
  • 792

加速 SBT 下载依赖库的速度

根据 SBT 的官网文档中 Proxy Repositories 部分的描述, 可以通过改变 repositories 的 url 列表来优化. 配置国内代理库 感谢 OSChina 提供了 ...
  • formyth
  • formyth
  • 2015年01月10日 00:23
  • 502

Maven 提升下载jar速度方法: (每秒1MB左右)

我们都知道,当我们在pom文件里面添加一个新的依赖时,maven发现本地仓库里面没有该jar包就会到中央仓库去下载,但是中央仓库在国外,下载速度缓慢的令人发指。我们可以在setting.xml(eg:...
  • FANGAOHUA200
  • FANGAOHUA200
  • 2016年12月08日 12:57
  • 1545
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:加速 SBT 下载依赖库的速度
举报原因:
原因补充:

(最多只允许输入30个字)