Web applications 运行spray servlet war会给出java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class
就像问题中的标题一样。我建造,与喷泉作战。我尝试将其部署在jetty和jboss-7上,但两者都给出了相同的错误:Web applications 运行spray servlet war会给出java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class,web-applications,spray,Web Applications,Spray,就像问题中的标题一样。我建造,与喷泉作战。我尝试将其部署在jetty和jboss-7上,但两者都给出了相同的错误: java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class at spray.http.Uri$Query.<init>(Uri.scala:496) at spray.http.Uri$Query$Empty$.<init>(Uri.scala:575) at spra
java.lang.NoClassDefFoundError: scala/collection/GenTraversableOnce$class
at spray.http.Uri$Query.<init>(Uri.scala:496)
at spray.http.Uri$Query$Empty$.<init>(Uri.scala:575)
at spray.http.Uri$Query$Empty$.<clinit>(Uri.scala)
at spray.http.parser.UriParser.<init>(UriParser.scala:37)
at spray.http.Uri$.apply(Uri.scala:231)
at spray.http.Uri$.apply(Uri.scala:203)
at spray.http.Uri$.<init>(Uri.scala:194)
at spray.http.Uri$.<clinit>(Uri.scala)
at spray.http.Uri$Path$.build$1(Uri.scala:427)
at spray.http.Uri$Path$.apply(Uri.scala:428)
at spray.servlet.ConnectorSettings$.fromSubConfig(ConnectorSettings.scala:52)
at spray.servlet.ConnectorSettings$.fromSubConfig(ConnectorSettings.scala:46)
at spray.util.SettingsCompanion.apply(SettingsCompanion.scala:50)
at spray.servlet.Initializer$$anonfun$contextInitialized$1.apply$mcV$sp(Initializer.scala:40)
at akka.util.Switch.transcend(LockUtil.scala:27)
at akka.util.Switch.switchOn(LockUtil.scala:48)
at spray.servlet.Initializer.contextInitialized(Initializer.scala:33)
....
java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class
在spray.http.Uri$Query(Uri.scala:496)
在spray.http.Uri$Query$Empty$(Uri.scala:575)
在spray.http.Uri$Query$Empty$(Uri.scala)
位于spray.http.parser.UriParser.(UriParser.scala:37)
位于spray.http.Uri$.apply(Uri.scala:231)
位于spray.http.Uri$.apply(Uri.scala:203)
位于spray.http.Uri$(Uri.scala:194)
位于spray.http.Uri$(Uri.scala)
位于spray.http.Uri$Path$.build$1(Uri.scala:427)
在spray.http.Uri$Path$.apply处(Uri.scala:428)
Subsubfig中的spray.servlet.ConnectorSettings$(ConnectorSettings.scala:52)
Subsubfig中的spray.servlet.ConnectorSettings$(ConnectorSettings.scala:46)
在spray.util.SettingsCompanion.apply(SettingsCompanion.scala:50)处
在spray.servlet.Initializer$$anonfun$contextInitialized$1.apply$mcV$sp(Initializer.scala:40)
在akka.util.Switch.extend(LockUtil.scala:27)
在akka.util.Switch.Switch上(LockUtil.scala:48)
在spray.servlet.Initializer.contextInitialized(Initializer.scala:33)
....
我签入了.war,其中有WEB-INF/lib/scala-library-2.11.0.jar,因此该类应该是可访问的。错误的原因是什么?我在不同的设置中遇到了相同的错误消息。我在一个独立的应用程序中使用spray客户端(没有JBoss) 原因是,虽然我使用的是Spray 1.3.1,它应该在Scala 2.11上运行,但实际上我从Maven repo(我在项目中使用Maven)获得的版本是针对Scala 2.10构建的。如果你想亲自去看的话,就去看看吧 所以,我所做的是修复它
更新:不确定这是以前的版本还是最近刚添加的版本,但现在也建议使用该版本。您能提供复制版本并将其发布在邮件列表上吗?在最好的情况下,使用spray模板repo并将其升级到Scala 2.11,然后提供如何使用独立容器重现问题的说明。
<repositories>
<repository>
<id>spray</id>
<name>Spray IO</name>
<url>http://repo.spray.io</url>
</repository>
</repositories>
<dependency>
<groupId>io.spray</groupId>
<artifactId>spray-client_2.11</artifactId>
<version>1.3.1-20140423</version>
</dependency>
"io.spray" %% "spray-client" % "1.3.1-20140423"