Spring Boot集成Neo4j报错:无法打开事务会话,请求协助解决
解决Spring Boot与Neo4j连接时驱动实例创建失败问题
1. 修复依赖版本兼容性与冲突
手动添加的Neo4j相关依赖和Spring Boot Starter的依赖版本存在不匹配风险,建议移除手动指定版本的依赖,让Spring Boot的依赖管理自动协调版本:
- 移除以下依赖:
<dependency> <groupId>org.neo4j</groupId> <artifactId>neo4j</artifactId> <version>3.4.9</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.neo4j</groupId> <artifactId>neo4j-ogm-embedded-driver</artifactId> <version>3.1.8</version> <scope>test</scope> </dependency> <dependency> <groupId>org.neo4j</groupId> <artifactId>neo4j-ogm-bolt-driver</artifactId> <version>3.1.8</version> </dependency>
spring-boot-starter-data-neo4j已包含Neo4j OGM和Bolt驱动的依赖,无需手动引入,避免版本冲突。
2. 检查并修正Neo4j连接配置
确保application.properties或application.yml中的连接配置正确,针对不同Neo4j版本调整:
针对Neo4j 3.x版本:
spring.data.neo4j.uri=bolt://localhost:7687 spring.data.neo4j.username=neo4j spring.data.neo4j.password=你的数据库密码
针对Neo4j 4.x及以上版本:
spring.neo4j.uri=bolt://localhost:7687 spring.neo4j.authentication.username=neo4j spring.neo4j.authentication.password=你的数据库密码 spring.neo4j.database=neo4j # Neo4j 4+支持多数据库,需指定默认库 # 开发环境遇到SSL连接问题时临时关闭证书校验 spring.neo4j.config.ssl.trust-all-certificates=true
注意:首次登录Neo4j需修改默认密码,确保配置中的密码与服务器端一致。
3. 验证Neo4j服务器状态
- 确认Neo4j服务正在本地运行,可通过访问
http://localhost:7474检查控制台是否正常打开。 - 检查防火墙是否拦截了7687端口(Bolt协议默认端口)。
- 用Neo4j自带的
cypher-shell工具验证连接可用性:
cypher-shell -u neo4j -p 你的密码 -a bolt://localhost:7687
4. 清理并重建项目依赖
- 执行Maven命令清理缓存并重新下载依赖:
mvn clean install -U
- 重启IDE,确保依赖加载正常。
内容的提问来源于stack exchange,提问作者D G
相关产品推荐
相关产品推荐

