'runtime error using akka http -> java.lang.ClassNotFoundException: akka.stream.Attributes$CancellationStrategy$Strategy
I'm getting this error trying to setup a sample akka http integration in my existing akka stream integration.
package ui
import akka.actor.ActorSystem
import akka.stream.ActorMaterializer
import akka.http.scaladsl.Http
import akka.http.scaladsl.model.HttpMethods._
import akka.http.scaladsl.model._
import scala.concurrent.ExecutionContext
import scala.io.StdIn
object Main extends App {
implicit val system = ActorSystem("lowlevel")
// needed for the future map/flatmap in the end
implicit val executionContext: ExecutionContext = system.dispatcher
implicit val materializer: ActorMaterializer = ActorMaterializer()
val requestHandler: HttpRequest => HttpResponse = {
case HttpRequest(GET, Uri.Path("/"), _, _, _) =>
HttpResponse(entity = HttpEntity(
ContentTypes.`text/html(UTF-8)`,
"<html><body>Hello world!</body></html>"))
case HttpRequest(GET, Uri.Path("/ping"), _, _, _) =>
HttpResponse(entity = "PONG!")
case HttpRequest(GET, Uri.Path("/crash"), _, _, _) =>
sys.error("BOOM!")
case r: HttpRequest =>
r.discardEntityBytes() // important to drain incoming HTTP Entity stream
HttpResponse(404, entity = "Unknown resource!")
}
val bindingFuture = Http().newServerAt("localhost", 8080).bindSync(requestHandler)
println(s"Server online at http://localhost:8080/\nPress RETURN to stop...")
StdIn.readLine() // let it run until user presses return
bindingFuture
.flatMap(_.unbind()) // trigger unbinding from the port
.onComplete(_ => system.terminate()) // and shutdown when done
}
The code compiles fine, but when I run tests on the top level class that has the endpoint setup I get this runtime error:
java.lang.ClassNotFoundException: akka.stream.Attributes$CancellationStrategy$Strategy
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
any idea what might be causing this runtime class not found issue?
I'm using "10.1.14" of akka http and "2.5.31" of the akka / akka-stream libraries on scala 2.12.15
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
