繁体   English   中英

设置java_home,但忽略错误

[英]Set java_home, but ignore error

在Mac(El-Capitan)上,我已将以下命令添加到我的bash_profile文件中:

export JAVA_HOME="$(/usr/libexec/java_home)"

这完美地设置了正确的java_home环境var。 但是,在我的一台机器上,我没有安装Java,也不想安装java :)。

我有一个dotfiles存储库,因此在我所有的机器上,我都有相同的.bash_profile文件。 现在的问题是,在没有Java的机器上,上面的命令输出如下:

Unable to find any JVMs matching version "(null)". No Java runtime present, try --request to install.

现在我的问题是:如何在不更改命令含义的情况下摆脱错误/警告?

可能将其打包到if语句中,检查是否实际安装了Java? 像这样的东西:

if ls /Library/Java/JavaVirtualMachines/j* 1> /dev/null 2>&1; then
  export JAVA_HOME="$(/usr/libexec/java_home)"
fi

这将使用ls的返回码(由于此问题/答案: 检查shell脚本中是否存在带通配符的文件 )来确定是否存在以a开头的文件或目录(例如jdk1.8.0_92.jdkjre1.8.0_92.jre )。 并且仅当存在这样的JDK / JRE时,它才会尝试导出JAVA_HOME。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM