首页 > 解决方案 > 将数据从 Neo4j 迁移到 OrientDb 时出错

问题描述

从 Neo4j 导入数据时出现以下错误。OrientDb 服务器未按照文档运行。

   [cloud_user@xxxxxxx bin]$ ./orientdb-neo4j-importer.sh -neo4jlibdir ~/neo4j-community-3.4.7/lib/ -neo4jdbdir ~/backup_files/graph.db/

Neo4j to OrientDB Importer v.3.0.10 - Veloce (build eac0654847df662ca03b45a6a5efa5eadd229ca5, branch 3.0.x) - Copyrights (c) 2017 OrientDB LTD

WARNING: 'o' option not found. Defaulting to 'false'.

WARNING: 'i' option not found. Defaulting to 'false'.

WARNING: 'odbdir' option not found. Defaulting to '/opt/orientdb/databases/neo4j_import'.

Please make sure that there are no running servers on:
  '/home/cloud_user/backup_files/graph.db' (Neo4j)
and:
  '/opt/orientdb/databases/neo4j_import' (OrientDB)

Initializing Neo4j...Done

Initializing OrientDB...Exception in thread "main" java.lang.NoClassDefFoundError: com/tinkerpop/blueprints/impls/orient/OrientGraphFactory
        at com.orientechnologies.orient.neo4jimporter.ONeo4jImporterInitializer.invoke(ONeo4jImporterInitializer.java:94)
        at com.orientechnologies.orient.neo4jimporter.ONeo4jImporter.execute(ONeo4jImporter.java:108)
        at com.orientechnologies.orient.neo4jimporter.ONeo4jImporterMain.main(ONeo4jImporterMain.java:25)
Caused by: java.lang.ClassNotFoundException: com.tinkerpop.blueprints.impls.orient.OrientGraphFactory
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 3 more
[cloud_user@xxxxxxx bin]$

标签: neo4jorientdb

解决方案


我挣扎了两个多小时试图将数据从 Neo4j 导入 Orientdb。文档相当草率。

您可以通过将 jar-orientdb-graphdb-*.jar 下载到 lib 文件夹中来解决此问题。但是,您仍然可能面临丢失课程的其他问题。下载下面的 jars 有助于解决此类问题:

  • 蓝图-核心-*.jar
  • gremlin-groovy-3.3.4.jar

如果您仍然面临缺课问题,请告诉我。

希望能节省一些人的时间。


推荐阅读