Neo4j Desktop 1.4.9搭配Java 17无法导出数据库,降级Java11后桌面端仍报错
问题根因分析
- 命令行最初报错的原因:你使用的Neo4j版本仅支持Java 11运行,Java 17引入的模块化权限限制会导致Neo4j内部的unsafe调用失败,你降级系统Java到11后命令行恢复正常,该问题已解决。
- Neo4j Desktop始终报错的原因:和Java版本无关,Desktop自带内置的Azul OpenJDK 11,符合运行要求。报错核心是Windows系统文件名规则限制:Desktop自动生成的dump文件名包含时间格式的冒号(如
18:43:48),而Windows不允许文件名中出现冒号,触发路径解析失败。
解决方法
- 方案一:直接修改导出文件名
点击数据库的导出选项后,在弹出的保存窗口中,把文件名里冒号替换为短横线、下划线等合法字符,比如将from-blog-neo4j-Nov-21-2021-18:43:48.dump改为from-blog-neo4j-Nov-21-2021-18-43-48.dump,再保存即可正常导出。 - 方案二:手动指定导出路径
如果无法修改默认文件名,直接指定不含特殊字符的完整导出路径即可,例如P:\neo4j_backup\blog_db_20211121.dump。 - 方案三:使用命令行导出
你已经可以通过neo4j-admin命令正常导出,直接用命令行操作即可,效率和效果和Desktop导出完全一致。
内容的提问来源于stack exchange,提问作者Kaliyug Antagonist
相关产品推荐
相关产品推荐

