Mac环境下Neo4j 4.1.12启动失败(LinkageError报错)求助
Neo4j社区版4.1.12启动报错:java.lang.LinkageError: Could not get Throwable message field
环境信息
- JDK版本:
loveleenbhargava@Loveleens-MacBook-Air neo4j-community-4.1.12 % javac -version javac 11.0.20 loveleenbhargava@Loveleens-MacBook-Air neo4j-community-4.1.12 % java -version openjdk version "11.0.20" 2023-07-18 OpenJDK Runtime Environment Homebrew (build 11.0.20+0) OpenJDK 64-Bit Server VM Homebrew (build 11.0.20+0, mixed mode)
- Neo4j版本:社区版4.1.12(Unix版本)
问题描述
进入Neo4j安装目录执行./bin/neo4j start后,服务启动失败,debug.log中出现如下错误:
2023-07-28 04:40:44.860+0000 INFO [o.n.d.d.DefaultDatabaseManager] Creating 'system' database. 2023-07-28 04:40:45.106+0000 INFO [o.n.b.BoltServer] Bolt server loaded 2023-07-28 04:40:45.314+0000 INFO [o.n.d.d.DefaultDatabaseManager] Starting 'system' database. 2023-07-28 04:40:45.448+0000 INFO [o.n.k.i.s.f.RecordFormatSelector] [system] Selected format 'RecordFormat:StandardV4_0[SF4.0.0]' for the new store /Users/loveleenbhargava/neo4j-community-4.1.12/data/databases/system 2023-07-28 04:40:45.831+0000 WARN [o.n.k.d.Database] [system] Exception occurred while starting the database. Trying to stop already started components. Could not get Throwable message field java.lang.LinkageError: Could not get Throwable message field
检查发现./data/databases/system目录为空:
loveleenbhargava@Loveleens-MacBook-Air neo4j-community-4.1.12 % ls -ltr data/databases/system total 0
已尝试操作
重新安装JDK 11,问题未解决。
排查方向与解决方案
1. 验证JDK兼容性与环境变量配置
- Neo4j 4.1.12官方要求JDK 11,但部分第三方编译的OpenJDK(如Homebrew版本)可能存在兼容性问题。建议更换为Oracle JDK 11或Adoptium OpenJDK 11(无修改的官方兼容版本)。
- 确认
JAVA_HOME环境变量指向JDK 11的安装目录,而非JRE:
确保echo $JAVA_HOMEPATH中优先使用该JDK的bin目录,可通过以下命令临时验证:export PATH=$JAVA_HOME/bin:$PATH java -version
2. 清理无效数据库文件并重建
- 先停止异常状态的Neo4j服务:
./bin/neo4j stop - 删除空的
system数据库目录及对应的事务日志:rm -rf ./data/databases/system rm -rf ./data/transactions/system - 重新启动Neo4j,让服务自动重建
system数据库:./bin/neo4j start
3. 检查文件目录权限
- 确认当前用户对Neo4j安装目录及子目录拥有读写权限:
ls -ld ./data/databases ls -l ./data - 若权限不足,修改目录所有者为当前用户:
chown -R $USER:$USER ./neo4j-community-4.1.12
4. 更换Neo4j安装包
- 重新下载官方Neo4j社区版4.1.12安装包(避免下载过程中文件损坏),解压后使用全新的
data目录测试启动,排除原有安装包损坏的可能。
内容的提问来源于stack exchange,提问作者Hemant Bhargava
相关产品推荐
相关产品推荐

