Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web applications 运行spray servlet war会给出java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class_Web Applications_Spray - Fatal编程技术网

Web applications 运行spray servlet war会给出java.lang.NoClassDefFoundError:scala/collection/GenTraversableOnce$class

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

就像问题中的标题一样。我建造,与喷泉作战。我尝试将其部署在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 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添加到存储库列表中

  • 更新:不确定这是以前的版本还是最近刚添加的版本,但现在也建议使用该版本。

    您能提供复制版本并将其发布在邮件列表上吗?在最好的情况下,使用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"