我在尝试运行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 Studio,但也尝试过IntelliJ,但也出现了同样的错误。
任何建议都将不胜感激,因为我什么都没改,现在我的代码突然不再编译了。更多详细信息:
sbt.版本=1.4.0
Scala代码运行程序版本2.12.10
我当前的build.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时也会发生。
是否尝试删除~/.sbt文件夹?我在这个文件夹中有一个存储库文件,其中有对typesafe repo的HTTP引用,删除这个文件夹解决了那些sbt HTTP错误。
对于其他使用Intellij设置解决此问题的人,请参阅下面的
环境:
- Scala 2.12.7
- Intellij Ultimate
- JVM 11
问题似乎是Intellij IDE SBT插件(仍在1.3.2上(和SBT的静默更新之间的冲突。
在终端中运行sbt(版本1.4.3(而不是使用内置插件解决了这个问题。
如repo.typesafe.com中所述,您可以添加到您的sbt:
Resolver.typesafeIvyRepo("releases")
或:
Resolver.typesafeRepo("releases")
取决于您是否使用Ivy
。
出现此警告的原因是您使用的是http
而不是https
。来自sbt
1.4.0发行说明:
HTTP解析器需要使用.withAllowInsecureProtocol(true(显式选择加入
这是添加它的PR。
必须编辑~/.sbt/repositories
才能使用https。