Elasticsearch: не удалось найти java в связанном jdk по адресу …/jdk/bin/java

#java #elasticsearch

#java #elasticsearch

Вопрос:

Когда я пытаюсь запустить .bin/elasticsearch, я получаю следующую ошибку:

не удалось найти java в связанном jdk по адресу /home/ubuntu/ Elastic Search/elasticsearch-7.8.0/jdk/bin/java

Я абсолютно не представляю, что происходит. Я знаю, что эта тема была создана ранее, но я не нашел способа исправить. Поскольку java -version я получаю:

 openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)
  

Кто-нибудь может мне помочь, пожалуйста? Спасибо!

Ответ №1:

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

  1. Чтобы отобразить JAVA_HOME путь к переменной, выполните эту команду echo $JAVA_HOME

Если ничего не появляется, выполните следующие действия:

  1. Чтобы просмотреть все версии java, установленные в Ubuntu, используйте эту команду:

sudo update-alternatives --config java

  1. Задайте свой java-путь, используя это. — export JAVA_HOME=<YOUR-JAVA-PATH>

Комментарии:

1. Для macos running /usr/libexec/java_home предоставляет вам путь java , который затем необходимо установить как JAVA_HOME переменную через CLI

2. Это действительно полезно. Спасибо за исправление.

Ответ №2:

У меня была аналогичная проблема в Linux, когда я запускал elasticsearch с помощью

 sh elasticsearch
  

Я получил сообщение об ошибке

 Elasticsearch: could not find java in bundled jdk at .../jdk/bin/java
  

Затем я сослался на официальный документ
и установил переменную среды ES_JAVA_HOME.

После повторного запуска elasticsearch я получил следующее сообщение, и оно прошло успешно

 ignoring JAVA_HOME=/project/jdkForElasticSearch/; using ES_JAVA_HOME 
  

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