"Insecure HTTP request is unsupported" Scala 中的错误

"Insecure HTTP request is unsupported" Error in Scala

我在尝试 运行 sbt run 到 运行 我的 Scala 代码时遇到以下错误:

insecure HTTP request is unsupported 'http://repo.typesafe.com/typesafe/releases'; switch to HTTPS or opt-in as ("typesafe-releases" at "http://repo.typesafe.com/typesafe/releases").withAllowInsecureProtocol(true), or by using allowInsecureProtocol in repositories file

这很奇怪,因为它上周运行得非常好,而且我没有对代码进行任何更改。我已经尝试在我的 build.sbt 文件和解析器文件中添加 ("typesafe-releases" at "http://repo.typesafe.com/typesafe/releases").withAllowInsecureProtocol(true),安装 Java11,删除我的项目文件夹,并从存储库中完全重新克隆我的代码,但没有任何效果。我正在使用 Visual Studios,但也尝试过 IntelliJ 并遇到相同的错误。

任何建议将不胜感激,因为我什么都没做,现在我的代码突然不能编译了。更多详情:

sbt.version = 1.4.0

Scala 代码运行ner 版本 2.12.10

我当前的 built.sbt(请注意,我之前没有添加解析部分,当时我的代码运行良好。添加它是为了尝试解决问题,但没有成功):

scalaVersion := "2.12.10"

name := "name"
organization := "org"
version := "1.0"

libraryDependencies ++= Seq(
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2",
"org.apache.spark" %% "spark-core" % "3.0.1",
"org.apache.spark" %% "spark-sql" % "3.0.1",
"org.reactivemongo" %% "reactivemongo-bson-api" % "0.20.11",
"org.mongodb.spark" %% "mongo-spark-connector" % "3.0.0",
"com.ibm.db2.jcc" % "db2jcc" % "db2jcc4"
)

resolvers += Resolver.typesafeRepo("releases")

编辑: 我发现无论项目如何都会发生此错误,甚至当我只是 运行 sbt 本身时也会发生。

repo.typesafe.com中所述,您可以添加到您的 sbt:

Resolver.typesafeIvyRepo("releases")

或:

Resolver.typesafeRepo("releases")

取决于您是否使用 Ivy

出现此警告的原因是您使用的是 http 而不是 https。从 sbt 1.4.0 release notes:

HTTP resolvers require explicit opt-in using .withAllowInsecureProtocol(true)

This是添加它的PR

您是否尝试删除 ~/.sbt 文件夹?我在此文件夹中有一个存储库文件,其中包含对类型安全存储库的 HTTP 引用,删除此文件夹解决了那些 sbt HTTP 错误。

对于使用 Intellij 设置的其他人,请参阅下文

环境:

  • Scala 2.12.7
  • Intellij 旗舰版
  • JVM 11

这个问题似乎是 Intellij IDE SBT 插件(仍在 1.3.2 上)与 sbt 的静默更新之间的冲突。

运行 终端中的 sbt(版本 1.4.3)而不是使用内置插件解决了这个问题。