最近两天在做spark小项目的开发,需要用sbt打包,(maven和sbt下载依赖属实慢的蛋疼啊啊)。。使用默认的https路径,有些依赖jar包无法下载。
(我连sbt sbtVersion都下了一天。。)
在网上找到的一些教程中,很多博主的解决方案是在~/.sbt/目录下新建一个repositories文件,在其中添加有关依赖,例如阿里云和开源中国的仓库。但这些有关sbt下载的博文都是三四年前的,有些仓库不能用了。我在使用oschina或者aliyun的仓库时,命令行提示警告如下:
[Warn] Host maven.oschina.net not found. url=http://maven.oschina.net/content/...
而且经常有如下报错:
[error] Server access Error: Connection reset url=https://repo.typesafe.com/typesafe/ivy-releases/...
虚拟机网络又经常会卡,在卡了几个小时后,实在忍不住Ctrl C了。
解决方案:
1,删除~/.sbt/repo.repositories文件,使用默认的下载路径
2,解压缩在sbt安装目录下的sbt-launch.jar文件(我用的是unzip,新建一个临时文件夹app,解压到里面)。修改所有以sbt.boot.properties前缀的文件,将文件内所有的https修改为http,并重新打包。替换原来的sbt-launch.jar文件。(应该是主要原因了)
3,再次运行sbt package即可运行成功!!
(在换国内源运行一天都没能package之后,现在觉得打包75秒简直神速!)
结果:
可以看到,最上面的那个error在重新打包sbt-launch.jar后没有了。
bug复bug bug何其多!!
---------------------这里是一条分割线===========
补更一下,发现了一个新仓库源,,在做另一个实验的时候上面这个方法不管用了,,,,还是老老实实整个~/.sbt/repositories
以下是仓库代码:
[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
虽然这一篇是解决sbt sbt-version的问题,但改后我的package还是成功辽!
再次分割线---------------------------
终于,我好像发现了华(盲)点!
原来sbt命令执行分为两个部分,第一部分是检测本地是否
Getting org.scala-sbt sbt 0.13.11 …
这个是第一部分下载的截图,可以明显看到下载时没有[warn]或者[info]的提示
第二部分是下载对应版本的依赖,就可以使用 ~/.sbt/repositories配置文件辣 !
里面明显多了[info]或者[warn]提示。(莫名其妙又报错,。。)
继续试试吧!!。。
哎,莫名其妙的,改了个阿里源又特么好了
(sbt真特么难用 比maven都差多了)
还是在这里加上几个我用的源吧(不能用你就多换换~/.sbt/repositories)
oschina源:(不太好用,有些找不到)
[repositories]
local
osc: http://maven.oschina.net/content/groups/public/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sonatype-oss-releases
maven-central
sonatype-oss-snapshots
阿里云:(感觉速度一般般,还可以)
[repositories]
local
aliyun: http://maven.aliyun.com/nexus/content/groups/public/
typesafe: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext], bootOnly
sonatype-oss-releases
maven-central
sonatype-oss-snapshots
华为云:(sbt sbtVersion执行成功后运行非常快,有时候会卡死,推荐试试这个)
[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
整活整了四天,终于把三个不同依赖的项目搞完了 心累了 去打打炉石~
帮到你的话 , 点个赞再走⑧ ε≡٩(๑>₃<)۶
引用1:https://blog.csdn.net/Yuanr_/article/details/102956112?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
引用2:
https://blog.csdn.net/binbinczsohu/article/details/105289456