虽然JAVA_HOME设置了JAVA但不在路径中

Noo*_*oor 15 java linux environment-variables elasticsearch

我已经在/ etc/profile中设置了所有需求变量,但是在启动elasticsearch时,仍然没有找到Java.我如何设置环境变量.那是我的/ etc/profile

PATH=$PATH:$HOME/bin
APPLICATIONS=$HOME/Applications
JAVA_HOME=$APPLICATIONS/jdk1.7.0_79
PATH=$JAVA_HOME/bin:$PATH

export APPLICATIONS
export JAVA_HOME
export PATH
Run Code Online (Sandbox Code Playgroud)

输出命令

[root@87500e63467f Applications]# echo $PATH
/root/Applications/jdk1.7.0_79/bin:/root/Applications/jdk1.7.0_79/bin:/root/Applications/jdk1.7.0_79/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/bin:/root/bin
[root@87500e63467f Applications]# echo $JAVA_HOME
/root/Applications/jdk1.7.0_79
[root@87500e63467f Applications]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
error: "Read-only file system" setting key "vm.max_map_count"
Starting elasticsearch: which: no java in (/sbin:/usr/sbin:/bin:/usr/bin)
Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME
                                                           [FAILED]
Run Code Online (Sandbox Code Playgroud)

在错误中,它说""启动elasticsearch:哪个:没有java in(/ sbin:/ usr/sbin:/ bin:/ usr/bin)"",这意味着java真的不在那个路径中,但是如何当我回显$ PATH时,它表明java在路径中?

bku*_*i01 35

从ElasticSearch读取文档后,我发现如果您在Ubuntu或Debian上运行,由于许可问题,该软件包仅随OpenJDK一起提供.为了解决这个Java路径问题,我在安装ElasticSearch之后安装了以下内容(按照文档的指示):

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
java -version
Run Code Online (Sandbox Code Playgroud)

然后运行sudo service elasticsearch start一切工作,我没有更多的Java路径问题.


小智 10

运行命令

java -XshowSettings
Run Code Online (Sandbox Code Playgroud)

搜索条目 java.home = /usr/java/jdk1.8.0_91/jre

在bash配置文件中导出java_home

export JAVA_HOME=/usr/java/jdk1.8.0_91/jre
Run Code Online (Sandbox Code Playgroud)

或者/etc/profile扩展到所有用户


dan*_*nno 6

专门针对OpenBSD6.0,添加

export JAVA_HOME=/usr/local/jdk-1.8.0/
Run Code Online (Sandbox Code Playgroud)

给你.profile

警告您,此特定版本的jdk以及基本路径本身可能会在以后的OpenBSD版本和以前的版本中更改。