2011-10-20 56 views
3

我在我的應用程序中使用scala,它運行沒有問題,但如果我在依賴項中添加neo4j,它會引發NoSuchMethod錯誤。我甚至沒有在我的代碼中引用任何neo4j類...配置Play框架與斯卡拉使用Neo4j圖表db

我沒有問題,使用scala玩遊戲框架,或者使用neo4j玩框架(Java),只是在同時使用時,它會崩潰。

我試過neo4j 1.4.2和1.5.M02都無濟於事。

感謝您的幫助〜

克里斯

dependencies.yml

# Application dependencies 

require: 
- play 
- play -> scala 0.9.1 
- org.neo4j -> neo4j 1.4.2 

異常詳細信息:

play.exceptions.UnexpectedException: Unexpected Error 
    at play.Invoker$Invocation.onException(Invoker.java:232) 
    at play.Invoker$Invocation.run(Invoker.java:273) 
    at Invocation.HTTP Request(Play!) 
Caused by: java.lang.NoSuchMethodError: scala.collection.generic.GenericTraversableTemplate.flatten(Lscala/Function1;)Lscala/collection/Traversable; 
    at play.scalasupport.compiler.PlayScalaCompiler$.scanFiles(ScalaCompiler.scala:18) 
    at play.scalasupport.compiler.PlayScalaCompiler$$anonfun$scanFiles$1.apply(ScalaCompiler.scala:17) 
    at play.scalasupport.compiler.PlayScalaCompiler$$anonfun$scanFiles$1.apply(ScalaCompiler.scala:15) 
    at play.scalasupport.compiler.PlayScalaCompiler$.scanFiles(ScalaCompiler.scala:15) 
    at play.scalasupport.compiler.PlayScalaCompiler$$anonfun$scanFiles$1.apply(ScalaCompiler.scala:17) 
    at play.scalasupport.compiler.PlayScalaCompiler$$anonfun$scanFiles$1.apply(ScalaCompiler.scala:15) 
    at play.scalasupport.compiler.PlayScalaCompiler$.scanFiles(ScalaCompiler.scala:15) 
    at play.scalasupport.ScalaPlugin$$anonfun$templates$1.apply(ScalaPlugin.scala:178) 
    at play.scalasupport.ScalaPlugin$$anonfun$templates$1.apply(ScalaPlugin.scala:177) 
    at play.scalasupport.ScalaPlugin.templates(ScalaPlugin.scala:177) 
    at play.scalasupport.ScalaPlugin.update(ScalaPlugin.scala:195) 
    at play.scalasupport.ScalaPlugin.detectClassesChange(ScalaPlugin.scala:107) 
    at play.plugins.PluginCollection.detectClassesChange(PluginCollection.java:358) 
    at play.Play.detectChanges(Play.java:594) 
    at play.Invoker$Invocation.init(Invoker.java:186) 
    ... 1 more 
+0

請發佈您的dependency.yml文件中的內容。 – Ryan

+0

@Ryan my dependencies.yml is posted〜thanks〜 – Chris

回答

2

事實證明,scala-library-2.9.0-1.jar包括爲Neo4j的依賴...

我每次運行play dependencies它會被下載到lib文件夾中,在我從文件夾中刪除它之後,它工作正常(到目前爲止,我只有用於啓動和關閉數據庫的代碼)。

0

Cypher查詢語言依賴於Scala。我們會在1.5版本中將該依賴項更新爲2.9.1。

+0

我遇到的問題是我的班級路徑中有兩個scala副本,我必須刪除一個與neo4j自帶的作品〜 這是否意味着Cypher查詢語言不適用於早期版本的Scala? (Play框架附帶的是2.8.x) – Chris