neo4j-scala icon indicating copy to clipboard operation
neo4j-scala copied to clipboard

Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.$colon$colon.hd$1()Ljava/lang/Object;

Open jiancoding opened this issue 8 years ago • 1 comments

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

jiancoding avatar Jun 24 '16 14:06 jiancoding

it's the scala version . I fixed this problem using scala 2.11.x

sammyrulez avatar Dec 06 '16 14:12 sammyrulez