gpt4 book ai didi

scala - 如何在 Tomcat 上部署 Scala/akka 应用程序?

转载 作者:行者123 更新时间:2023-11-28 21:53:45 25 4
gpt4 key购买 nike

我尝试在 Tomcat 7 上使用 akka 在 Scala 中部署一个简单的应用程序。

在第一个版本中,actor 系统和主要 actor 是直接从 Scala 对象启动的。

在第二个版本中,我创建了一个初始化程序(扩展 ServletContextListener),以便在部署 war 时启动 Actor 系统和 Actor 。

在这两种情况下,我都会得到如下所示的 java.lang.LinkageError:

java.lang.LinkageError: loader constraint violation: when resolving method "akka.actor.Props$.apply(Lscala/reflect/ClassManifest;)Lakka/actor/Props;" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, com/my-app/Transfert$, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, akka/actor/Props$, have different Class objects for the type scala/reflect/ClassManifest used in the signature
com.my-app.Transfert$.<init>(Transfert.scala:14)
com.my-app.Transfert$.<clinit>(Transfert.scala)
com.my-app.Transfert.getState(Transfert.scala)
org.apache.jsp.transfert_jsp._jspService(transfert_jsp.java:85)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

我在 Google 和所有地方都进行了搜索,但没有找到如何在 Tomcat 7 上部署 Scala/akka 应用程序的简单示例?

我知道 akka 1.3 中有一个 akka.http 包,但我想使用 akka 2.0(至少)。似乎 akka.http 已经消失,取而代之的是使用 play-mini。但我宁愿不使用 play-mini 或 play。

有什么建议吗?有什么阅读建议吗?或者??

最佳答案

我们在 Jetty 8 中运行了 Akka actors 2.1 - 它应该不会有太大的不同。

您似乎面临 ClassLoader 问题(我假设您使用的是 java 6 并且没有二进制兼容性问题)。

我可以建议你尝试从你的 war 中删除 scala-library.2.10.0.jarakka-actor_2.10-2.1.0.jar 并删除它们在 tomcat 7 lib 文件夹中?

关于scala - 如何在 Tomcat 上部署 Scala/akka 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14851110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com