SBT 无法通过 HTTPS 将 AWS EC2 实例上的依赖关系解析为第三方存储库



我在EC2实例上安装了SBT。

在我上次提交中,我添加了新的依赖项 - Flyway。它使用第三方存储库 - https://flywaydb.org/repo

当我在EC2上运行sbt run时,出现SSL错误:

[error] Server access Error: Received fatal alert: handshake_failure url=https://flywaydb.org/repo/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.pom

它适用于我的开发电脑。

我试过了:

  • 从 flywaydb.org 站点导出证书并将其添加到 EC2 上的密钥库。没有运气

  • 将 Java 从 1.7 更新到 1.8

  • 升级亚马逊 Linux 软件包

我没主意了。为什么它可能不适用于 EC2?

info] Loading project definition from /home/ec2-user/backendgenerated/project
[info] Updating {file:/home/ec2-user/backendgenerated/project/}backendgenerated-build...
[info] Resolving org.flywaydb#flyway-sbt;4.0 ...
[error] Server access Error: Received fatal alert: handshake_failure url=https://flywaydb.org/repo/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.pom
[warn]  module not found: org.flywaydb#flyway-sbt;4.0
[warn] ==== typesafe-ivy-releases: tried
[warn]   https://repo.typesafe.com/typesafe/ivy-releases/org.flywaydb/flyway-sbt/scala_2.10/sbt_0.13/4.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn]   https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.flywaydb/flyway-sbt/scala_2.10/sbt_0.13/4.0/ivys/ivy.xml
[warn] ==== local: tried
[warn]   /home/ec2-user/.ivy2/local/org.flywaydb/flyway-sbt/scala_2.10/sbt_0.13/4.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.pom
[warn] ==== Flyway: tried
[warn]   https://flywaydb.org/repo/org/flywaydb/flyway-sbt_2.10_0.13/4.0/flyway-sbt-4.0.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.flywaydb#flyway-sbt;4.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn] 
[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      org.flywaydb:flyway-sbt:4.0 (scalaVersion=2.10, sbtVersion=0.13)
[warn] 
[warn]  Note: Unresolved dependencies path:
[warn]      org.flywaydb:flyway-sbt:4.0 (scalaVersion=2.10, sbtVersion=0.13) (/home/ec2-user/backendgenerated/project/plugins.sbt#L13-14)
[warn]        +- default:backendgenerated-build:0.1-SNAPSHOT (scalaVersion=2.10, sbtVersion=0.13)
sbt.ResolveException: unresolved dependency: org.flywaydb#flyway-sbt;4.0: not found
    at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:313)
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:191)
    at sbt.IvyActions$$anonfun$updateEither$1.apply(IvyActions.scala:168)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
    at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156)
    at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:133)
    at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57)
    at sbt.IvySbt$$anon$4.call(Ivy.scala:65)
    at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
    at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
    at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
    at xsbt.boot.Using$.withResource(Using.scala:10)
    at xsbt.boot.Using$.apply(Using.scala:9)
    at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
    at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
    at xsbt.boot.Locks$.apply0(Locks.scala:31)
    at xsbt.boot.Locks$.apply(Locks.scala:28)
    at sbt.IvySbt.withDefaultLogger(Ivy.scala:65)
    at sbt.IvySbt.withIvy(Ivy.scala:128)
    at sbt.IvySbt.withIvy(Ivy.scala:125)
    at sbt.IvySbt$Module.withModule(Ivy.scala:156)
    at sbt.IvyActions$.updateEither(IvyActions.scala:168)
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1439)
    at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1435)
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1470)
    at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1468)
    at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37)
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1473)
    at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1467)
    at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60)
    at sbt.Classpaths$.cachedUpdate(Defaults.scala:1490)
    at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1417)
    at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1369)
    at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon$4.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:237)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
    at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
[error] (*:update) sbt.ResolveException: unresolved dependency: org.flywaydb#flyway-sbt;4.0: not found
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
最后,

我用 Ubuntu AMI 创建了一个新的 EC2 实例,安装了最新的 scala、最新的 sbt,它就可以工作了。

最新更新