使用 RMQ 驱动程序时 Akka-HTTP 崩溃

Akka-HTTP crashes when using RMQ driver

我正在尝试 运行 akka-http 与 rabbit mq 客户端 ('amqp-scala-client_2.12')

使用 Scala 版本 2.12。

但我得到一个例外:

Exception in thread "main" java.lang.NoClassDefFoundError: scala/Function1$class
at akka.http.scaladsl.server.PathMatcher.<init>(PathMatcher.scala:20)
at akka.http.scaladsl.server.ImplicitPathMatcherConstruction$$anon.<init>(PathMatcher.scala:267)
at akka.http.scaladsl.server.ImplicitPathMatcherConstruction$class._regex2PathMatcher(PathMatcher.scala:267)
at akka.http.scaladsl.server.PathMatcher$._regex2PathMatcher(PathMatcher.scala:105)
at         
  akka.http.scaladsl.server.PathMatchers$class.$init$(PathMatcher.scala:461)
at akka.http.scaladsl.server.Directives$.<init>(Directives.scala:40)
at akka.http.scaladsl.server.Directives$.<clinit>(Directives.scala)
at WebServer$.main(WebServer.scala:41)
at WebServer.main(WebServer.scala)
    Caused by: java.lang.ClassNotFoundException: scala.Function1$class
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我猜这是因为版本冲突,因为当禁用 rmq 时它起作用了。

您能否提供帮助或建议其他可用的 rmq 库,谢谢!

您使用的是用 Scala 2.11 编译的 akka-http (akka-http-core_2.11),但您的 RMQ 驱动程序是 2.12。您需要确定您使用的是哪个版本的 Scala,然后使用该版本编译的驱动程序。如果您决定使用 Scala 2.12,则需要 akka-http-core_2.12.