使用Neo4j ETL工具迁移MySQL至Neo4j时遇NullPointerException求助
解决Neo4j ETL工具执行导出命令时的NullPointerException问题
问题重现
执行Neo4j ETL工具的MySQL迁移命令时触发空指针异常:
java -cp "C:\Users\ADMIN.Neo4jDesktop\graphApps_global\neo4j-etl-ui/dist/neo4j-etl.jar" org.neo4j.etl.NeoIntegrationCli export --mapping-file "C:\Users\ADMIN\AppData\Local\Temp/mysql_testdb_testdb_mapping.json" --rdbms:password "" --rdbms:user "root" --rdbms:url "jdbc:mysql://localhost:3306/testdb?autoReconnect=true&useSSL=false&useCursorFetch=true&allowPublicKeyRetrieval=true" --options-file "C:\Users\ADMIN\AppData\Local\Temp/import-tool-options.json" --using "cypher:fromSQL" --unwind-batch-size 1000 --tx-batch-size 10000 --neo4j:database-name ecomm --neo4j:url "bolt://localhost:7687" --neo4j:user "neo4j" --neo4j:password "123"
错误信息:
Illegal command (NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because "this.debug" is null)
解决方案
该错误源于工具内部debug参数未被初始化,可尝试以下步骤修复:
显式指定--debug参数:在命令末尾添加
--debug true或--debug false,强制初始化该参数。修改后的命令示例:java -cp "C:\Users\ADMIN.Neo4jDesktop\graphApps_global\neo4j-etl-ui/dist/neo4j-etl.jar" org.neo4j.etl.NeoIntegrationCli export --mapping-file "C:\Users\ADMIN\AppData\Local\Temp/mysql_testdb_testdb_mapping.json" --rdbms:password "" --rdbms:user "root" --rdbms:url "jdbc:mysql://localhost:3306/testdb?autoReconnect=true&useSSL=false&useCursorFetch=true&allowPublicKeyRetrieval=true" --options-file "C:\Users\ADMIN\AppData\Local\Temp/import-tool-options.json" --using "cypher:fromSQL" --unwind-batch-size 1000 --tx-batch-size 10000 --neo4j:database-name ecomm --neo4j:url "bolt://localhost:7687" --neo4j:user "neo4j" --neo4j:password "123" --debug false检查options-file配置:打开
import-tool-options.json,确认是否包含debug字段,若缺失则手动添加:{ "debug": false, // 保留其他原有配置 }验证ETL工具版本:若为版本兼容性bug,尝试升级至最新版Neo4j ETL工具,或降级到与当前Neo4j数据库匹配的稳定版本。
检查命令参数格式:Windows环境下确保所有路径参数的引号配对正确,避免因参数解析错误导致内部变量未初始化。
内容的提问来源于stack exchange,提问作者Devansh Maru
相关产品推荐
相关产品推荐

