neo4j-scala
neo4j-scala copied to clipboard
Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.$colon$colon.hd$1()Ljava/lang/Object;
Hi, I am trying to play this library and run the file TheMatrixTraversalHack.scala, but always got below errors: /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/bin/java Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.$colon$colon.hd$1()Ljava/lang/Object; at eu.fakod.neo4jscala.util.scalax.rules.Choice$class.oneOf$1(Rule.scala:165) at eu.fakod.neo4jscala.util.scalax.rules.Choice$class.apply(Rule.scala:170) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anon$1.apply(Rule.scala:39) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anon$1.apply(Rule.scala:39) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:55) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:52) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:55) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:52) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:55) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:52) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:55) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:52) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:55) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:52) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:55) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:52) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rule$$anonfun$mapResult$1.apply(Rule.scala:36) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:55) at eu.fakod.neo4jscala.util.scalax.rules.Rules$DefaultRule.apply(Rules.scala:52) at eu.fakod.neo4jscala.util.scalax.rules.Rules$$anonfun$expect$1.apply(Rules.scala:60) at eu.fakod.neo4jscala.util.scalax.rules.scalasig.ClassFileParser$.parse(ClassFileParser.scala:114) at eu.fakod.neo4jscala.util.scalax.rules.scalasig.ScalaSigParser$.parse(ScalaSig.scala:45) at eu.fakod.neo4jscala.util.CaseClassSigParser$.parseScalaSig(Poso.scala:107) at eu.fakod.neo4jscala.util.CaseClassSigParser$.findSym(Poso.scala:122) at eu.fakod.neo4jscala.util.CaseClassSigParser$.parse(Poso.scala:146) at eu.fakod.neo4jscala.util.CaseClassDeserializer$$anonfun$4.apply(Poso.scala:88) at eu.fakod.neo4jscala.util.CaseClassDeserializer$$anonfun$4.apply(Poso.scala:88) at scala.collection.mutable.MapLike$class.getOrElseUpdate(MapLike.scala:194) at eu.fakod.neo4jscala.util.CaseClassDeserializer$$anon$2.scala$collection$mutable$SynchronizedMap$$super$getOrElseUpdate(Poso.scala:25) at scala.collection.mutable.SynchronizedMap$class.getOrElseUpdate(SynchronizedMap.scala:40) at eu.fakod.neo4jscala.util.CaseClassDeserializer$$anon$2.getOrElseUpdate(Poso.scala:25) at eu.fakod.neo4jscala.util.CaseClassDeserializer$.serialize(Poso.scala:88) at eu.fakod.neo4jscala.Neo4jWrapper$.serialize(Neo4jWrapper.scala:133) at eu.fakod.neo4jscala.Neo4jWrapper$class.createNode(Neo4jWrapper.scala:49) at testCreateNode$.createNode(testCreateNode.scala:12) at testCreateNode$$anonfun$1.apply(testCreateNode.scala:27) at testCreateNode$$anonfun$1.apply(testCreateNode.scala:25) at eu.fakod.neo4jscala.Neo4jWrapper$class.withTx(Neo4jWrapper.scala:32) at testCreateNode$.withTx(testCreateNode.scala:12) at testCreateNode$.delayedEndpoint$testCreateNode$1(testCreateNode.scala:18) at testCreateNode$delayedInit$body.apply(testCreateNode.scala:12) at scala.Function0$class.apply$mcV$sp(Function0.scala:34) at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) at scala.App$$anonfun$main$1.apply(App.scala:76) at scala.App$$anonfun$main$1.apply(App.scala:76) at scala.collection.immutable.List.foreach(List.scala:381) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35) at scala.App$class.main(App.scala:76) at testCreateNode$.main(testCreateNode.scala:12) at testCreateNode.main(testCreateNode.scala) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
Process finished with exit code 1
I guess something is wrong with libraries, below is my build.sbt:
import sbt.Keys._
name := "test2"
version := "1.0" scalaVersion := "2.11.8" resolvers += "Neo4J Maven Repo" at "http://m2.neo4j.org/content/repositories/releases"
libraryDependencies ++={ val scalaReflectVersion = "2.11.8"
val neo4jVersion = "1.9.4" val neo4jShellVersion = "1.9.4" val neo4jLuceneIndexVersion = "1.9.4" val neo4jCypherVersion = "1.9.4" val neo4jScalaVersion = "0.3.0"
Seq( "org.scala-lang" % "scala-reflect" % scalaVersion.value, "org.scala-lang" % "scala-compiler" % scalaVersion.value ,
// Neo4j graph database
"org.neo4j" % "neo4j-kernel" % neo4jVersion,
"org.neo4j" % "neo4j-lucene-index" % neo4jLuceneIndexVersion,
"org.neo4j" % "neo4j-shell" % neo4jShellVersion ,
//Neo4J Scala Wrapper Library
"eu.fakod" % "neo4j-scala_2.10" % neo4jScalaVersion,
// Cypher
"org.neo4j" % "neo4j-cypher" % neo4jCypherVersion,
} }
Any idea to solve this issue?
BTW, I was trying to use higher version of neo4j like 2.3.2, but always got warnings of version incompatibility, asking me to pick up one from two versions Thanks
it's the scala version . I fixed this problem using scala 2.11.x