从Linux连接到Neo4j的问题 [英] Issues in connecting to Neo4j from linux

查看:253
本文介绍了从Linux连接到Neo4j的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试从Java连接到Neo4j时出现以下错误:

Trying to connect to Neo4j from java I get the following error:

线程主"中的异常java.lang.RuntimeException:启动错误 org.neo4j.kernel.EmbeddedGraphDatabase,/data/graph.db 在org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:323) 在org.neo4j.kernel.EmbeddedGraphDatabase.(EmbeddedGraphDatabase.java:100) 在org.neo4j.graphdb.factory.GraphDatabaseFactory $ 1.newDatabase(GraphDatabaseFactory.java:92) 在org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:197) 在org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:69) 在.....

Exception in thread "main" java.lang.RuntimeException: Error starting org.neo4j.kernel.EmbeddedGraphDatabase, /data/graph.db at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:323) at org.neo4j.kernel.EmbeddedGraphDatabase.(EmbeddedGraphDatabase.java:100) at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:92) at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:197) at org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:69) at .....

由以下原因引起:org.neo4j.kernel.lifecycle.LifecycleException: 成分 "org.neo4j.kernel.impl.transaction.XaDataSourceManager@4514ba77"为 成功初始化,但无法启动.请参照附件 导致异常. 在org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:504) 在org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 在org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:300)

Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.transaction.XaDataSourceManager@4514ba77' was successfully initialized, but failed to start. Please see attached cause exception. at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504) at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:300)

    ... 7 more Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component

'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@2c86c977'是 成功初始化,但无法启动.请参照附件 导致异常. 在org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:504) 在org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) 在org.neo4j.kernel.impl.transaction.XaDataSourceManager.start(XaDataSourceManager.java:165) 在org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:498)

'org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource@2c86c977' was successfully initialized, but failed to start. Please see attached cause exception. at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:504) at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:115) at org.neo4j.kernel.impl.transaction.XaDataSourceManager.start(XaDataSourceManager.java:165) at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498)

    ... 9 more Caused by: java.lang.IllegalArgumentException: No schema index provider org.neo4j.kernel.api.index.SchemaIndexProvider

找到了.可在类路径上使用内核扩展:

found. Kernel extensions available on classpath:

类路径条目:/...../java/....xyz.jar 在org.neo4j.kernel.api.index.SchemaIndexProvider $ 2.select(SchemaIndexProvider.java:136) 在org.neo4j.kernel.api.index.SchemaIndexProvider $ 2.select(SchemaIndexProvider.java:128) 在org.neo4j.kernel.extension.KernelExtensions.resolveDependency(KernelExtensions.java:207) 在org.neo4j.kernel.InternalAbstractGraphDatabase $ DependencyResolverImpl.resolveDependency(InternalAbstractGraphDatabase.java:1403) 在org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.start(NeoStoreXaDataSource.java:311) 在org.neo4j.kernel.lifecycle.LifeSupport $ LifecycleInstance.start(LifeSupport.java:498) ...另外12个

Class path entries: /...../java/....xyz.jar at org.neo4j.kernel.api.index.SchemaIndexProvider$2.select(SchemaIndexProvider.java:136) at org.neo4j.kernel.api.index.SchemaIndexProvider$2.select(SchemaIndexProvider.java:128) at org.neo4j.kernel.extension.KernelExtensions.resolveDependency(KernelExtensions.java:207) at org.neo4j.kernel.InternalAbstractGraphDatabase$DependencyResolverImpl.resolveDependency(InternalAbstractGraphDatabase.java:1403) at org.neo4j.kernel.impl.nioneo.xa.NeoStoreXaDataSource.start(NeoStoreXaDataSource.java:311) at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:498) ... 12 more

我正在使用Ne04j-2.0.0-M05版本,​​在Linux机器上的Java 7下运行Java代码.尽管在Windows计算机中,相同的jar文件和Java代码也可以很好地工作. Web管理界面运行良好(因此,到db的路径可能不是问题,因为我在org.neo4j.server.database.location和org.neo4j.server.webadmin.data.uri中指定了相同的路径),

I am using Ne04j-2.0.0-M05 version, running the java code under Java 7 in a linux machine. The same jar files and java code works good though in a windows machine. The web admin interface works well (hence path to db may not be a issue since I ve given the same path in org.neo4j.server.database.location and org.neo4j.server.webadmin.data.uri),

我以前用来连接的Java代码是:

The java code I used to connect is :

String dbpath = "/NEO4J_HOME/data/graph.db/";
graphdb = new GraphDatabaseFactory().newEmbeddedDatabase(dbpath);

您能否确定可能导致 java.lang.IllegalArgumentException的原因:未找到架构索引提供者org.neo4j.kernel.api.index.SchemaIndexProvider

推荐答案

将与Neo4j相关的jar分开保存,即不要将它们捆绑在您创建的jar中.相反,只需使用类路径选项在运行时指向Neo4j库即可.

Keep Neo4j related jars seperate, i.e do not bundle them inside the jar you create. Instead just make use of class path option to point Neo4j libraries in run time.

这篇关于从Linux连接到Neo4j的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆