根據 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 請求失敗的具體緣由