【问题标题】:configuring Play framework with Scala to use Neo4j graph db使用 Scala 配置 Play 框架以使用 Neo4j 图形数据库
【发布时间】:2012-01-05 03:37:01
【问题描述】:

我在我的应用程序中使用 scala,它运行没有问题,但是如果我在依赖项中添加 neo4j,它会引发 NoSuchMethod 错误。我的代码中什至没有引用任何 neo4j 类...

我在 scala 中使用 play framework 或在 neo4j 中使用 play framework (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

【问题讨论】:

  • 请发布您的dependency.yml 文件中的内容。
  • @Ryan 我的 dependencies.yml 已发布~谢谢~

标签: scala playframework neo4j


【解决方案1】:

原来scala-library-2.9.0-1.jar 被包含为neo4j 的依赖项...

每次我运行play dependencies 时,它都会被下载到 lib 文件夹中,在我从文件夹中删除它之后,它可以正常工作(到目前为止,我只有启动和关闭数据库的代码)。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我遇到的问题是我的类路径中有两个scala副本,我必须删除neo4j附带的一个才能使其工作〜这是否意味着Cypher Query语言不会适用于早期版本的scala? (Play框架自带的是2.8.x)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多