mpjboot bash:java:找不到命令
Posted
技术标签:
【中文标题】mpjboot bash:java:找不到命令【英文标题】:mpjboot bash: java: command not found 【发布时间】:2015-06-15 20:51:22 【问题描述】:java 和 mpj express 安装在计算节点的 /opt 中。 JAVA_HOME
、MPJ_HOME
和 PATH
已通过 bashrc 设置。
运行mpjboot machines
时出错:
bash: java: command not found
java 已经在两台机器上运行
mpjboot:
#!/bin/sh
if [ $# -ne 1 ]; then
echo "Usage: mpjboot <machines_file>";
exit 127
fi
java -jar $MPJ_HOME/lib/daemonmanager.jar -boot -m "$@"
【问题讨论】:
如果你手动启动二进制文件,例如/usr/bin/java
,你能输入whereis java
,那么它可以工作吗?你有执行java的权限吗?
- 如果你在脚本中写 echo $JAVA_HOME 会怎样?也许您没有“导出” JAVA_HOME 和 PATH 变量
【参考方案1】:
您使用的是哪个 Linux 发行版?尝试将 MPJ_HOME 和 JAVA_HOME 放在 .bashrc 的顶部。它特别在 Ubuntu 的情况下解决了这个问题。
【讨论】:
有什么原因吗?因为我在集群模式下运行 mpj 时也遇到了这个问题。它说 MPJ_HOME 没有设置,尽管已经在 .bashrc 中设置。 默认的 Ubuntu bashrc 文件有# If not running interactively, don't do anything [ -z "$PS1" ] && return
并且 mpjboot 以非交互模式运行。如果您将环境变量设置在此行下方,mpjboot 将看不到它,它会报错。以上是关于mpjboot bash:java:找不到命令的主要内容,如果未能解决你的问题,请参考以下文章
VSCode 编译时出现错误 找不到 preLaunchTask“g++” 怎么办?