根据 SBT 的官网文档中 Proxy Repositories 部分的描述, 能够经过改变 repositories
的 url
列表来优化.html
感谢 OSChina 提供了 Maven Center 的镜像, 配置添加它有助于提高下载速度.git
[repositories] local oschina:http://maven.oschina.net/content/groups/public/
若你知道其余更快的镜像库, 同上配置.
通常互联网企业部署了供内部使用的镜像库(如 nexus ), 也能够配置于此.github
Ivy
路径布局大多数中心仓库(repository)是 Maven 的路径布局, 这就致使 SBT 的插件和部分 Ivy 依赖没法从其下载.apache
[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 会串行的 "询问" 列表中全部的远程仓库, 不管是否找获得. maven
当依赖树越大, 整个下载的过程就更漫长. 若再遇到响应慢的仓库, 状况恶化的使人发指.工具
推荐列表策略是:布局
本地仓库post
国内(或内网)镜像仓库优化
国外官方仓库, 一般 #
注释掉, 待上面无论用时, 去掉 #
再作尝试
建议使用你熟悉的网络嗅探手段查清具体缘由, 对症下药了.
下载 HTTP 代理工具 mitmproxy, 并运行它
启动 SBT时, 附加参数 -Dhttp.proxyHost=loalhost -Dhttp.proxyPort=8080
, 这会将 SBT 全部的 HTTP 请求经由 mitmproxy转发
经过 mitmproxy 来分析 HTTP 请求失败的具体缘由