IntelliJ运行Mongo加密项目报错:mongocryptd路径配置无效
解决mongocryptd路径配置问题的可行方案
以下是针对你遇到的Exception starting mongocryptd process. Is mongocryptd on the system path?报错的解决步骤:
第一步:确认mongocryptd的真实路径
先在终端执行which mongocryptd,确认工具的实际安装路径。如果返回的不是你配置的/usr/local/bin/bin,说明路径填错了,要以终端返回的路径为准。第二步:让IntelliJ继承系统PATH
很多时候IntelliJ启动时不会自动读取系统最新的PATH配置,解决办法:- 完全关闭IntelliJ
- 从终端启动IntelliJ(比如Mac执行
open -a "IntelliJ IDEA",Linux直接执行idea.sh),这样IDE会继承终端的系统环境变量。
第三步:手动在Run配置里添加PATH
如果终端启动还是不行,直接在IDE的运行配置里指定:- 打开
Run -> Edit Configurations - 找到你的应用配置,切换到
Environment Variables标签 - 编辑
PATH变量,追加mongocryptd所在路径,格式为PATH=$PATH:/实际路径(比如PATH=$PATH:/usr/local/bin)
- 打开
第四步:检查执行权限
执行ls -l /实际路径/mongocryptd,看输出的权限位是否包含x(可执行权限)。如果没有,执行chmod +x /实际路径/mongocryptd赋予权限。第五步:代码里直接指定路径
以上方法都无效的话,在你的CustomMongoClientConfiguration里直接指定mongocryptd路径:@Bean public MongoDatabaseFactory mongoDbFactory() { MongoClientSettings settings = MongoClientSettings.builder() .autoEncryptionSettings(AutoEncryptionSettings.builder() .mongocryptdPath("/usr/local/bin/mongocryptd") // 替换为实际路径 .build()) .build(); return new SimpleMongoClientDatabaseFactory(MongoClients.create(settings), "你的数据库名"); }
内容的提问来源于stack exchange,提问作者harsh agarwal
相关产品推荐
相关产品推荐

