2016-10-19 3 views
0

Ich versuche, eine neo4j DB zu erstellen und zu konsumieren. Unten ist der Code, den Im verwendet, um eine DB zu erstellen.Neo4j Fehler: Fehler beim Starten von org.neo4j.kernel.impl.factory.CommunityFacadeFactory

String graphDbPath = "C:/Users/abcd/parseJSON2GraphDB"; 
      GraphDatabaseFactory dbFactory = new GraphDatabaseFactory(); 
      GraphDatabaseService graphDb = dbFactory.newEmbeddedDatabase(graphDbPath); 

      try (Transaction tx = graphDb.beginTx()) { 
       // Perform DB operations     

       Node javaNode = graphDb.createNode(); 
       javaNode.setProperty("name", "Duane"); 

       Node scalaNode = graphDb.createNode(); 
       scalaNode.setProperty("name", "Nickull"); 

       tx.success(); 
      } 
      graphDb.shutdown(); 

      System.out.println("Created Successfully"); 

Der Fehler, den ich bekommen, wenn es ausgeführt wird:

Exception in thread "main" java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.CommunityFacadeFactory, C:/Users/abcd/parseJSON2GraphDB 
    at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:144) 
    at org.neo4j.kernel.impl.factory.CommunityFacadeFactory.newFacade(CommunityFacadeFactory.java:40) 
    at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:108) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory.newDatabase(GraphDatabaseFactory.java:100) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory.lambda$createDatabaseCreator$0(GraphDatabaseFactory.java:89) 
    at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:183) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:65) 
    at com.idml.synquesgen.Test.createDb(Test.java:48) 
    at com.idml.synquesgen.Test.main(Test.java:38) 
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component '[email protected]' failed to initialize. Please see attached cause exception. 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:416) 
    at org.neo4j.kernel.lifecycle.LifeSupport.init(LifeSupport.java:62) 
    at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:98) 
    at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:140) 
    ... 8 more 
Caused by: java.lang.BootstrapMethodError: java.lang.IllegalAccessError: no such method: org.neo4j.kernel.api.impl.index.IndexWriterConfigs.standard()IndexWriterConfig/invokeStatic 
    at org.neo4j.kernel.api.impl.labelscan.WritableDatabaseLabelScanIndex.<init>(WritableDatabaseLabelScanIndex.java:40) 
    at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanIndexBuilder.build(LuceneLabelScanIndexBuilder.java:72) 
    at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanStoreExtension.getLuceneIndex(LuceneLabelScanStoreExtension.java:94) 
    at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanStoreExtension.newInstance(LuceneLabelScanStoreExtension.java:79) 
    at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanStoreExtension.newInstance(LuceneLabelScanStoreExtension.java:40) 
    at org.neo4j.kernel.extension.KernelExtensions.init(KernelExtensions.java:69) 
    at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.init(LifeSupport.java:406) 
    ... 11 more 
Caused by: java.lang.IllegalAccessError: no such method: org.neo4j.kernel.api.impl.index.IndexWriterConfigs.standard()IndexWriterConfig/invokeStatic 
    at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:483) 
    ... 18 more 
Caused by: java.lang.NoClassDefFoundError: org/apache/lucene/codecs/lucene54/Lucene54Codec 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.invoke.MethodHandleNatives.resolve(Native Method) 
    at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:962) 
    at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:987) 
    at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1390) 
    at java.lang.invoke.MethodHandles$Lookup.linkMethodHandleConstant(MethodHandles.java:1746) 
    at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:477) 
    ... 18 more 
Caused by: java.lang.ClassNotFoundException: org.apache.lucene.codecs.lucene54.Lucene54Codec 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 

Alle Hinweise, was es verursacht?

Von schnellen Suchen habe ich einige Lösungen versucht: 1) Überprüfen Sie, ob irgendwelche Instanzen von Neo4J bereits ausgeführt werden. 2) Die neo4j-Version geändert (via maven)

Nichts hat bis jetzt funktioniert.

Antwort

0

Die stacktrace deutlich erwähnt

java.lang.ClassNotFoundException: org.apache.lucene.codecs.lucene54.Lucene54Codec

So sicher sein, lucene-analyzers-common-5.5.0.jar zu haben, lucene-codecs-5.5.0.jar und lucene-core-5.5.0.jar auf Ihrem Classpath. (vorausgesetzt, Sie sind auf Neo4j 3.0.x)

Oder, als eine einfachere Verwendung http://mvnrepository.com/artifact/org.neo4j/neo4j/3.0.6 als Ihre einzige Abhängigkeit, die alle anderen erforderlichen Abhängigkeiten transitively ziehen sollte.