linux上的Java in-Path变量
我已下载JDK并正确设置路径,以下是我的输出:linux上的Java in-Path变量,java,
elasticsearch,java-home,Java,
elasticsearch,Java Home,我已下载JDK并正确设置路径,以下是我的输出: echo $JAVA_HOME /home/me/Applications/jdk1.8.0_65 echo $PATH /home/me/Applications/jdk1.8.0_65/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games java -version java version "1.8.0_65
echo $JAVA_HOME
/home/me/Applications/jdk1.8.0_65
echo $PATH
/home/me/Applications/jdk1.8.0_65/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
但我有以下问题:
sudo /etc/init.d/elasticsearch start
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME
我的Java安装有任何问题吗,Java bin目录中的文件是可执行的?使用
sudo-E
而不是sudo
来传播环境变量。检查init脚本在何处查找Java executableEnvironment变量不通过sudo
传播。这是可以解决的,但是如果您想让启动脚本在真正的启动中工作,您需要将这些变量添加到机器的全局环境中,或者编辑script.sudo-E!!我要花几个小时清理一些init.d脚本。。。太棒了,谢谢,它救了我。。。