我正在使用playframework 2.1.0和scala 2.10。 我已经从twitter repo中添加了cassie 0.20.0。
这行代码
val cluster = new Cluster("localhost", 9160)
似乎会引发以下异常:
Caused by: java.lang.NoSuchMethodError: scala.Predef$.augmentString(Ljava/lang/String;)Lscala/collection/immutable/StringOps;
at com.twitter.cassie.Cluster.<init>(Cluster.scala:50) ~[cassie-core-0.20.0.jar:na]
at cassandra.Cassandra$.<init>(Cassandra.scala:13) ~[na:na]
at cassandra.Cassandra$.<clinit>(Cassandra.scala) ~[na:na]
at controllers.Application$$anonfun$cassandraBloblAction$1.apply(Application.scala:41) ~[na:na]
at controllers.Application$$anonfun$cassandraBloblAction$1.apply(Application.scala:40) ~[na:na]
at play.api.mvc.ActionBuilder$$anonfun$apply$11.apply(Action.scala:254) ~[play_2.10.jar:2.1.0]
我做错了什么?我错过了什么吗?使用Cluster的其他构造函数会导致相同性质的不同异常。
答案 0 :(得分:1)
截至目前:原来twitter-cassie仅适用于scala 2.8。
这个非常简洁的主题说明了一切:
https://groups.google.com/forum/?fromgroups=#!topic/twitter-cassie/NS9f1NnyU6E
Twitter还没有转向scala 2.10,但还没有人为此付出代价。我通过使用cassandra的Astyanax解决了我的问题。