You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SageMaker Notebook中配置JAVA_HOME使其识别已安装的Java环境

SageMaker Notebook 内核无法识别已安装Java的解决方案

报错的根本原因是SageMaker Notebook的Jupyter内核运行环境与终端shell环境相互隔离,终端下生效的PATH环境变量没有同步到Python进程的运行环境中,导致tabula无法调用java命令。

步骤1:确认Java的实际安装路径

在SageMaker终端执行以下命令,获取java可执行文件的完整路径:
which java
返回示例:/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java,截取到bin层级的路径即/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin备用。

解决方案1:临时生效(仅当前Notebook内核运行周期有效)

在Notebook代码的最开头添加环境变量配置代码,将Java的bin目录加入PATH:

import os
# 将下方路径替换为你自己实际查到的Java bin目录路径
java_bin_path = "/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin"
os.environ["PATH"] = f"{java_bin_path}:{os.environ['PATH']}"

# 再执行tabula相关代码即可
import tabula
tabula.environment_info()

解决方案2:永久生效(所有Notebook内核自动加载)

在终端执行以下命令,在IPython启动脚本中添加环境变量配置,后续启动的所有内核都会自动加载该配置:

cat > ~/.ipython/profile_default/startup/00-set-java-path.py << EOF
import os
# 替换为实际的Java bin目录路径
java_bin_path = "/usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin"
os.environ["PATH"] = f"{java_bin_path}:{os.environ['PATH']}"
EOF

执行完成后重启Notebook内核即可生效。

附加说明

你安装的是Java 1.8但终端返回的版本号为1.7,是因为系统默认的Java版本优先级设置问题,如需切换默认Java版本,可在终端执行:
sudo alternatives --config java
按照提示选择Java 1.8对应的序号即可。


内容的提问来源于stack exchange,提问作者Matthew Metros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:24:05