加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – SBT 0.13.11无法下载代理后面的依赖项

发布时间:2020-12-16 09:27:04 所属栏目:安全 来源:网络整理
导读:在代理服务器后面使用Windows 7,64bit. 我已下载并安装了最新版本的SBT(0.13.11),Scala(2.11.8)和IntelliJ IDEA社区(2016.1.2).当我尝试在IntelliJ中启动一个新项目时,我可以使用的最新版SBT是0.13.8,而不是0.13.11.有谁知道为什么会这样?如果我尝试启动一
在代理服务器后面使用Windows 7,64bit.

我已下载并安装了最新版本的SBT(0.13.11),Scala(2.11.8)和IntelliJ IDEA社区(2016.1.2).当我尝试在IntelliJ中启动一个新项目时,我可以使用的最新版SBT是0.13.8,而不是0.13.11.有谁知道为什么会这样?如果我尝试启动一个新项目,我会收到一个错误:

Error:Error while importing SBT project:

06000

See complete log in C:UsersRk.IdeaIC2016systemlogsbt.last.log

经过一段时间的修补,我发现当我在终端输入sb??t时,我被告知我有SBT版本0.13.8,它是针对Scala 2.10.4构建的.这看起来不对劲!如果我进入IntelliJ并选择SBT构建为0.13.8并将Scala构建为2.10.4,则不会出现错误!

所以,这非常令人困惑,因为不清楚代理是否是问题.好像我可以将SBT更新到版本0.13.11,整个过程都可行.

任何见解或帮助将不胜感激 – 我很高兴学习Scala,但这些技术困难阻止了我.

编辑:当我在项目目录中运行sbt compile时,我收到以下输出:

enter image description here

解决方法

你的sbt输出有一条红线:

[error] Server access Error: Connection refused: connect url=https://repo1.maven.org/maven2/org/scala-lang/scala-library/2.11.8/scala-library-2.11.8.pom

之所以发生这种情况,是因为您在代理服务器后面,从版本0.13.9开始,sbt默认情况下使用https进行所有连接. sbt 0.13.8仍然使用http,这就是为什么这个问题不会在这个版本中出现的原因.

解决此问题的最简单方法是修改sbt.bat脚本并在命令行中添加一个参数来启动sbt可执行文件:

-Dsbt.repository.secure=false

此命令强制sbt使用http代替.

一个看似更正确但更复杂的修复方法包括从您使用的maven存储库手动提取https证书,以及使用keytool将它们安装到JDK的cacerts密钥库中 – 但是这种复杂的方式似乎并不涵盖所有情况,同时转向https完全像魅力一样工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读