2016-07-16 6 views
0

Neo4j-Databaseを2.2.0から3.0.3にアップグレードしました。私は、Javaからそれを起動しようとすると、次のエラー・メッセージを取得しています:Neo4j-DBをJavaで起動できません

Exception in thread "main" java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.CommunityFacadeFactory, F:\DLs\DB 
    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$203(GraphDatabaseFactory.java:89) 
    at org.neo4j.graphdb.factory.GraphDatabaseFactory$$Lambda$1/1020923989.newDatabase(Unknown Source) 
    at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:183) 
    at Neo4j.Neo4j.startServer(Neo4j.java:22) 
    at countAnnotator.Main.main(Main.java:32) 
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.VerifyError: Cannot inherit from final class 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.access$100(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at org.neo4j.kernel.api.impl.labelscan.storestrategy.BitmapDocumentFormat.<clinit>(BitmapDocumentFormat.java:40) 
    at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanIndexBuilder.<init>(LuceneLabelScanIndexBuilder.java:34) 
    at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanIndexBuilder.create(LuceneLabelScanIndexBuilder.java:49) 
    at org.neo4j.kernel.api.impl.labelscan.LuceneLabelScanStoreExtension.getLuceneIndex(LuceneLabelScanStoreExtension.java:90) 
    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 

これは、関連するコードです:

public class Neo4j { 
    static File dir = new File("F:/DLs/DB/"); 
    GraphDatabaseService graphDb; 

    public void startServer(){ 

     graphDb = new GraphDatabaseFactory().newEmbeddedDatabaseBuilder(dir) 
       .setConfig(GraphDatabaseSettings.read_only, "true") 
       .newGraphDatabase(); 
     registerShutdownHook(graphDb); 
    } 
    } 

そして、これらは私が私のPOMを持っているのNeo4j-ジャーです:

<dependency> 
    <groupId>org.neo4j</groupId> 
    <artifactId>neo4j</artifactId> 
    <version>3.0.3</version> 
    </dependency> 
     <dependency> 
    <groupId>org.neo4j</groupId> 
    <artifactId>neo4j-bolt</artifactId> 
    <version>3.0.3</version> 
    </dependency> 
    <dependency> 
    <groupId>org.neo4j</groupId> 
    <artifactId>neo4j-kernel</artifactId> 
    <version>3.0.3</version> 
    </dependency> 
    <dependency> 
    <groupId>org.neo4j</groupId> 
    <artifactId>neo4j-cypher</artifactId> 
    <version>3.0.3</version> 
</dependency> 

<dependency> 
    <groupId>org.neo4j</groupId> 
    <artifactId>neo4j-lucene-index</artifactId> 
    <version>3.0.3</version> 
</dependency> 

悲しいことに私はMavenとNeo4jの両方の経験がほとんどなく、Imは問題の原因を突き止めることができません 古いDB-Version(2.2。 0)、「neostore.nodestore.dbにストアバージョンが含まれていない」というエラーメッセージが表示される

Neo4j-3.0.3-Applicationで問題なくDBを実行できます。

助けていただけたら幸いです!

+0

ビルドパスの問題のようです。コンパイルと実行にIDEを使用していますか、コマンドラインから実行していますか? – johnnyaug

+0

私はEclipseを使用しています – user2299050

+1

おそらく、ビルドパスに同じライブラリの2つの異なるjarがあります。それらのうちの1つに対してコンパイルしますが、もう一方に対してコンパイルします。私はLuceneにこのような問題があることを覚えています。 Luceneの2つの異なるバージョンがありますか? – johnnyaug

答えて

0

私は確かにこれがbuildpathissueであることを確認できました。これは他の依存関係のない新しいプロジェクトを作成し、うまく動作するコードを実行することで実現しました。

ありがとうございました!

編集:私はまたのNeo4j-Serverを起動しようとするとエラーになるのLucene-jarを含む外部アーカイブとしてDBpediaの-spotlight.jarを持っていた : 私は今、私の問題の原因を発見しました。

関連する問題