JAVA не в пути, хотя JAVA HOME set

Я установил все переменные требования в/etc / profile, но при запуске elasticsearch он все еще не находит Java. Как я могу установить переменную окружения. Это мой/etc / профиль

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

вывод команд

[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]

в ошибке говорится, что " запуск elasticsearch: which: no java in (/sbin: / usr / sbin: / bin: / usr / bin)", это означает, что на самом деле java не находится в этом пути, но почему, когда я Эхо $PATH, он показывает, что java находится в путь ?

10 ответов


специально для OpenBSD6.0, добавить

export JAVA_HOME=/usr/local/jdk-1.8.0/

на .profile.

эта конкретная версия jdk и, возможно, сам базовый путь могут быть изменены в последующих и предыдущих версиях OpenBSD, вы были предупреждены.


после чтения документов из 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

затем при запуске sudo service elasticsearch start все работало, и у меня больше не было проблем с Java path.


выполнить команду

java -XshowSettings

поиск запись java.home = /usr/java/jdk1.8.0_91/jre

экспорт java_home в вашем профиле bash

export JAVA_HOME=/usr/java/jdk1.8.0_91/jre

или /etc/profile для расширения на всех пользователей


чтобы получить его-хотя и не приятно - вы можете настроить символическую ссылку на java в / usr / bin (которая указана elasticsearch, чтобы увидеть):

ln -s /root/Applications/jdk1.7.0_79/bin/java /usr/bin/java

Я заметил один файл в выходных данных с именем /etc/sysconfig / elasticsearch

Это может сделать трюк, поэтому я определил JAVA_HOME в этом файле, и он работает.

больше U может получить от здесь


убедитесь, что путь, который вы указали для JAVA_HOME, правильный.

и почему бы не сделать это просто:

export PATH=$PATH:/path/to/jdk

попробуйте установить Java home в /jdk1.7.0_79 / bin и посмотреть, поможет ли это.


просто добавьте ниже путь в bashrc и под


столкнулся с той же проблемой при установке Elasticsearch 5 на машине debian. Вот как я установил Java 9:

su -
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java9-installer

Я не знаю, является ли это вашей конкретной ситуацией, но работа с ElasticSearch/Kibana/Logstash (ELK stack) документы не работали для меня на Ubuntu 16.04. Помещая контент из этого поста вместе с несколькими другими, мое решение было:

 sudo add-apt-repository ppa:webupd8team/java
 sudo apt-get update
 sudo apt-get install oracle-java8-installer
 # checking my work given 9 won't work with OSSEC you can use
 # java -version
 sudo usermod -a -G ossec logstash
 sudo apt-get install logstash
 sudo systemctl daemon-reload
 sudo systemctl enable logstash.service
 sudo systemctl start logstash.service

конечный результат для меня на Ubuntu 16.04 был

sudo java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

Если вы работаете с wazuh, важно добавить PPAs для их конкретных версий. Надеюсь, это поможет.


вам нужно установить JAVA_HOME в /etc/default / elasticsearch,например
cat /etc/default/elasticsearch JAVA_HOME=/var/local/jdk1.8.0_151

следующий старт /etc/init.d/elasticsearch start
Эс работает. моя ОС ubuntu18.04.