内容简介:本来不太想使用sbt,但是公司这边普遍要求使用sbt来进行部署。所以,so!sbt的语法什么的还好,唯一让人无法忍受的是sbt下载依赖的速度 —— 在国内大环境下实在是慢到了让人抓狂的程度。要提升sbt下载依赖的速度,方法无非是那么几个:土豪可以考虑使用VPN,不想花钱可以考虑替换repository。
本来不太想使用sbt,但是公司这边普遍要求使用sbt来进行部署。所以,so!
sbt的语法什么的还好,唯一让人无法忍受的是sbt下载依赖的速度 —— 在国内大环境下实在是慢到了让人抓狂的程度。
要提升sbt下载依赖的速度,方法无非是那么几个:土豪可以考虑使用VPN,不想花钱可以考虑替换repository。
下面贴一下我用的repositories,并简单说明下。
[repositories] local sonatype-nexus-repository: https://maven.company.com/nexus/content/groups/public/ maven-local: file:///D:/maven/mvnrepo repox-maven: http://repox.gtan.com:8078/ repox-ivy: http://repox.gtan.com:8078/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] osc: http://maven.aliyun.com/nexus/content/groups/public/ typesafe:http://dl.bintray.com/typesafe/ivy-releases/ , [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly ivy-sbt-plugin:http://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
第一行的local意思是使用本地源,不过好像没有什么大用。
第二行用的是公司的私有maven源。
第三行使用的是maven本机仓库,确定需要指明下仓库的位置才能生效。
第四行和第五行用的是社区公服。社区公服是一个公益项目,详情可以看下 这里 。社区公服原名广谈公服,主要能力就是解决sbt下载依赖太慢的问题。事实证明,社区公服真的是一个好东西,用上了以后,sbt下载依赖的速度当真飞快。
第六行是阿里云的依赖仓库,不过因为广谈公服排在前面,少见它能发挥作用。
第七行和第八行的仓库主要是解决typesafe相关源下载太慢或者下载失败的问题。即使用上了社区公服和阿里云maven仓库,一些typesafe出的sbt插件下载速度仍是巨慢。当时因为这个被绊住了好久。使用dl.bintray.com的源能很好地解决这个问题。据说typesafe的下载源也是指向这里,至于为什么typesafe源下载慢dl.bintray.com下载快就不清楚了。
有这几个源差不多就够了,添加的源如果太多,遇到一些特别“稀有”的依赖,sbt会串行地尝试每个源,如果每个源都失败,耗费的时间加在一起也很恐怖了。
————————————————————————————
现在又调整了一下repositories,主要添加了几个maven仓库的ivy布局兼容:
[repositories] local maven-local: file:///D:/JDevelop/mvnrepo td-maven: https://maven.zhyea.com/nexus/content/groups/public/ td-ivy: https://maven.zhyea.com/nexus/content/groups/public/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] repox-maven: http://repox.gtan.com:8078/ repox-ivy: http://repox.gtan.com:8078/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] aliyun-maven: http://maven.aliyun.com/nexus/content/groups/public/ aliyun-ivy: http://maven.aliyun.com/nexus/content/groups/public/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] typesafe: http://dl.bintray.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly ivy-sbt-plugin:http://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] jcenter: http://jcenter.bintray.com/ jcenter-ivy: http://jcenter.bintray.com/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext] sonatype-oss-releases maven-central sonatype-oss-snapshots
扯一些没用的。
编译 工具 我有用过maven、gradle和sbt三种。从私心上来说比较喜欢gradle的简洁特征的,sbt稍微有些复杂了,不过也比maven好一些。在IDE的支持上,maven因为用户基数大,得到的支持是最好的,gradle有安卓开发者加持也还不错,比较起来sbt是最差的:在idea上使用sbt经常出现依赖下载不了,索引失效等问题。所以在我看来,在国内进行scala开发最好选择gradle,其次选择maven,至于sbt——人生短暂,干嘛不做一些更有意义的事情呢。
关于sbt的的不足,这里有一篇文章 《So, what’s wrong with SBT?》 说了些干货,有兴趣可以看看,不过我是不太能完全理解的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 如何确保发起的交易已完成——关于原子性问题的解决方案(报告全文下载)
- 移动端js模拟截屏生成图片并下载功能的实现方案+踩坑过程
- 解决Jenkins构建前端时node-sass的.node文件下载报错问题的一种方案
- Android原生下载(下篇)多文件下载+多线程下载
- 小说下载器 ebookdownloader v1.7.5 发布:添加新下载源
- 前端培训-初级阶段-场景实战(2019-06-06)-下载文件&下载进度
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Single Page Web Applications
Michael Mikowski、Josh Powell / Manning Publications / 2013-9-30 / USD 44.99
Code for most web sites mostly runs on the server. When a user clicks on a link, the site reacts slowly because the browser sends information to the server and the server sends it back again before di......一起来看看 《Single Page Web Applications》 这本书的介绍吧!