使用Scala配置Play框架来使用Neo4j图形数据库

3
我在我的应用中使用scala,它能够正常运行。但是,如果我添加neo4j到依赖项中,它会抛出NoSuchMethod错误。即使我在代码中没有引用任何neo4j类...
我没有使用play框架与scala或使用play框架(Java)与neo4j时出现问题,只有同时使用两者时才会崩溃...
我已经尝试了neo4j 1.4.2和1.5.M02,但都没有成功。
感谢任何帮助~
Chris
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

请发布您的dependency.yml文件中的内容。 - Ryan
@Ryan 我的 dependencies.yml 已经发布了~ 谢谢~ - Chris
2个回答

2

原来scala-library-2.9.0-1.jar是neo4j的依赖项之一...

每次运行play dependencies都会将其下载到lib文件夹中,但是当我从文件夹中删除它后,它就可以正常工作了(目前我只有启动和关闭数据库的代码)。


0

Cypher查询语言依赖于Scala。我们将在1.5版本中更新该依赖项至2.9.1。


我遇到的问题是我的类路径中有两个scala副本,我必须删除neo4j附带的那个才能使其正常工作。这是否意味着Cypher查询语言不适用于早期版本的Scala?(Play框架附带的版本为2.8.x) - Chris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接