Derby数据库连接配置报错求助:/usr/libexec/java_home不存在
解决Derby启动脚本
run-db.sh中/usr/libexec/java_home不存在的问题 问题根源
/usr/libexec/java_home是MacOS专属的Java环境变量探测工具,Windows下的GitBash没有这个文件,因此执行脚本时触发路径不存在的错误。
修复步骤
1. 修改run-db.sh脚本内容
打开你的run-db.sh文件,定位到第2行调用/usr/libexec/java_home的代码,替换为Windows适配的逻辑:
- 若已手动设置
JAVA_HOME,直接替换为实际路径:JAVA_HOME="/c/Program Files/Java/jdk-21" # 替换为你的JDK21真实安装路径 - 若需要自动探测(适配GitBash环境),替换为:
# 优先使用已配置的JAVA_HOME if [ -z "$JAVA_HOME" ]; then # 在GitBash中查找JDK21目录 JAVA_HOME=$(find "/c/Program Files/Java" -name "jdk-21*" -type d | head -n 1) fi
2. 验证环境变量配置
在GitBash中执行以下命令,确认路径配置正确:
echo $JAVA_HOME echo $DERBY_HOME
输出需对应你的JDK21和Derby解压路径(例如/c/Program Files/Java/jdk-21、/c/Program Files/db-derby-10.15.2.0-bin)。
3. 重新执行脚本
保存修改后的run-db.sh,在GitBash中运行:
./run-db.sh
额外注意事项
- 若脚本无执行权限,先执行:
chmod +x run-db.sh - Derby 10.15.2.0兼容JDK21,若后续出现类加载错误,检查Derby的
lib目录下jar包是否完整。
内容的提问来源于stack exchange,提问作者Olgaa
相关产品推荐
相关产品推荐

