Я пытаюсь запустить сервер neo4j на компьютере с Ubuntu с помощью этой команды:

sudo neo4j start

Но это дает мне эту ошибку:

ERROR: JAVA_HOME is incorrectly defined as /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/ (the executable /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin//bin/java does not exist)

Теперь я установил JAVA_HOME в правильный каталог, где установлена Java. Вот что я получаю, когда запускаю echo $JAVA_HOME:

/usr/lib/jvm/java-8-oracle

Я не знаю, откуда он получает это значение для JAVA_HOME. Я проверил файлы конфигурации, но не смог найти переменные, ссылающиеся на JAVA_HOME, которые мне, возможно, понадобится установить.

3
Benyamin Noori 5 Апр 2017 в 00:35

2 ответа

Лучший ответ

Это та же проблема с 7, и вы можете исправить это так:

JAVA_HOME должен быть установлен на имя каталога, который содержит каталог bin, содержащий исполняемые файлы Java (в частности, саму java).

Предполагая, что у вас есть каталог /usr/lib/jvm/jdk1.7.0, он, вероятно, содержит подкаталог jre, который содержит каталог bin, который содержит java и связанные исполняемые файлы.

Поэтому вам, вероятно, следует установить JAVA_HOME на /usr/lib/jvm/jdk1.7.0/jre, а не /usr/lib/jvm/jdk1.7.0.

Видеть JAVA_HOME не определен правильно для получения дополнительной информации.

4
tk421 26 Фев 2019 в 17:34

Некоторые дистрибутивы по умолчанию сбрасывают переменные среды, чтобы программы, запускаемые с правами root, работали должным образом. (команда sudo: java: не найдена после выхода из root пользователь )

Поэтому сохраняйте переменные окружения при использовании sudo:

sudo -E neo4j start
0
GyuHyeon Choi 26 Мар 2020 в 08:44