在Java中执行Neo4j Cypher查询时出现NoClassDefFoundError
我尝试了以下基于嵌入式模式从Java执行Cypher查询的基本示例,但它显示了以下错误:
码:
package test; import org.neo4j.cypher.javacompat.ExecutionEngine; import org.neo4j.cypher.javacompat.ExecutionResult; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.Node; import org.neo4j.graphdb.Transaction; import org.neo4j.graphdb.factory.GraphDatabaseFactory; public class Test { public static void main(String[] args) { GraphDatabaseService db = new GraphDatabaseFactory().newEmbeddedDatabase("D:/MI/Tools/neo4j-community-1.9.M02/test2"); // add some data first, keep id of node so we can refer to it long id; Transaction tx = db.beginTx(); try { Node refNode = db.createNode(); id = refNode.getId(); refNode.setProperty("name", "reference node"); tx.success(); } finally { tx.finish(); } // let's execute a query now ExecutionEngine engine = new ExecutionEngine(db); ExecutionResult result = engine.execute("start n=node(" + id + ") return n, n.name"); System.out.println(result.toString()); } }
输出:
Exception in thread "main" java.lang.NoClassDefFoundError: com/googlecode/concurrentlinkedhashmap/ConcurrentLinkedHashMap$Builder at org.neo4j.cypher.internal.LRUCache.(LRUCache.scala:30) at org.neo4j.cypher.ExecutionEngine$$anon$1.(ExecutionEngine.scala:91) at org.neo4j.cypher.ExecutionEngine.(ExecutionEngine.scala:91) at org.neo4j.cypher.javacompat.ExecutionEngine.(ExecutionEngine.java:54) at org.neo4j.cypher.javacompat.ExecutionEngine.(ExecutionEngine.java:44) at test.Test.main(Test.java:27) Caused by: java.lang.ClassNotFoundException: com.googlecode.concurrentlinkedhashmap.ConcurrentLinkedHashMap$Builder at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 6 more Java Result: 1 BUILD SUCCESSFUL (total time: 5 seconds)
代码中有问题吗?
(我使用neo4j-community-1.9.M02和NetBeans IDE 7.2.1)
谢谢。