2020 scala+sbt配置

scala加sbt太心酸了,摸坑摸了一周
 
 
scala
GeoSpark用的scala是2.11.11,所以直接百度scala 2.11.11,打开网页滑到最底下下载.msi版本,最省心,然后配置几个环境变量就好了,注意java版本要支持,scala 2.12之后必须用jdk1.8以上的版本
 
sbt
sbt也是一样的, https://www.scala-sbt.org/download.html,想要什么版本随便下,我用的是1.3.4,同样直接msi安装,
conf文件夹下,sbtconfig.tx最好用vs code这种来编辑,别用记事本,可能会有windows换行符出现问题,
uploading.4e448015.gif正在上传… 重新上传 取消
 
详细配置如下,代理最后也没用上,我的sbt下载路径是E:/sbt/,data在后面的步骤会自动创建,类似于maven的本地仓库
 
# sbt configuration file for Windows
# Set the java args
#-mem 1024 was added in sbt.bat as default
 
#-Xms1024m
#-Xmx1024m
#-Xss4M
#-XX:ReservedCodeCacheSize=128m
 
# Set the extra sbt options
 
#-Dhttp.proxyHost=23.95.85.60
#-Dhttp.proxyPort=8388
#-Dhttp.proxyUser=root
#-Dhttp.proxyPassword=wcdh8858
 
-Dsbt.log.format=true
-Dsbt.boot.directory=E:/sbt/data/.sbt/boot
-Dsbt.global.base=E:/sbt/data/.sbt
-Dsbt.ivy.home=E:/sbt/data/.ivy2
-Dsbt.repository.config=E:/sbt/conf/repo.properties
-Dsbt.repository.secure=false
 
然后重头戏是repo.properties
网上各种配置,都好用,但是,千辛万苦,适合2020年的配置,就是下面的这个博客,
我用过了几十个本地的配置,只有这个配置,算是正常了
repositories]
  local
  maven-local :  file:C:/Users/TF/.m2/repository/
  uk-repository:  http://uk.maven.org/maven2/
  ivy-sbt-plugin:  https://dl.bintray.com/sbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
uploading.4e448015.gif正在上传… 重新上传 取消
 
最后的重头戏
打开命令行,输入cmd,输入sbt,然后输入c,进行sbt工具的初始化,一定要找个网络好的地方,安静等待,自动的从上面的库里面吧需要的boot,scala-plugins乱七八糟的东西都下载下来,然后等着sbt初始化完成,如果sbt的安装哪里会出现问题,百分百是这里,正常人经过了java,maven,scala三重历练,我不信还能把环境变量搞错( 光速打脸, 我就是搞错了, 因为我有两个jdk,path里面图省事用了绝对路径,JAVA_HOME没改过来,所以sbt下载完其他的包,开始自动初始化的时候一直报错
在这一步出现错误的原因大多是源的问题,要么很慢,要么出错,总结来说,大概以下几个:
1、http和https,尽量自己看看源的url能不能用浏览器打开,而且显示网页后,chrome现在会自动转为https而且隐藏起来,只能看到https后面的url,注意看下
2、下载的贼慢,想设置代理,然并卵,这东西就是慢,找个网络好的地方,或者多换几个源
3、版本问题,主要是jdk跟sbt不兼容,注意看下,52 51 50等分别对应什么版本
uploading.4e448015.gif正在上传… 重新上传 取消
 

下面这段来自:https://blog.csdn.net/sparrowxin/article/details/100086894

配了以上的配置之后, 还有一个要注意的点, 就是

启动sbt 的时候, 使用 "sbt -Dsbt.override.build.repos=true" 启动, 或者配置 SBT_OPTS 的环境变量, 加上"-Dsbt.override.build.repos=true" (不用带双引号)

这样才能真正生效, 否则还是会使用 sbt.jar 里面配置的仓库, 真的是有毒, 具体可以看官方文档的说明 https://www.scala-sbt.org/1.0/docs/Proxy-Repositories.html

       当初这个配置是一个一个摸索出来的, 使用排除法一个一个URL尝试, 有个窍门是, 如果某个库或者是插件找不到, 会在控制台报 "某某 URL 查找这个库找不到 " 之类的错误, 这个时候可以直接复制这个URL, 然后去maven仓库找, 有的时候是版本太旧, maven仓库没有, 更新一个有的版本号就可以了; 如果真的没有的话, 就要去库的说明文档上面找找或者使用搜索引擎搜索一下这个包, 就有可能能知道在哪个仓库, 把仓库添加到 repositories 文件里面就可以了

首次update了项目之后, 就可以把该环境变量去掉了, 否则在 build.sbt 中添加的 resolver 会被忽略.

在命令行运行了 sbt 进入交互界面之后, 也可以使用 inspect overrideBuildResolvers 查看是否配置了该环境变量

可以通过 set overrideBuildResolvers := false 在当前会话中取消.

 
最后sbt搞完了,导入GeoSpark分分钟的事
 
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值