Переменная среды ElasticSearch и Java
В Windows 7 я установил JDK как в 32, так и в 64-разрядных версиях. Версии 8, обновление 20 для всех четырех установок.
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
когда я загружаю и распаковываю elasticsearch и запускаю файлы /bin/service.bat или/bin/elasticsearch.bat, я получаю в своем терминале:
JAVA_HOME environment variable must be set!
Press any key to continue . . .
Когда я это сделаю, терминал закроется.
Я удалил и переустановил, но это не исправило. Почему бы не изменить среду? Является ли это установкой, или мне действительно нужно вручную установить переменную. Кажется, что если он будет установлен правильно, он автоматически установит переменную... Пожалуйста, помогите. Благодаря
Я вручную установил переменную среды JAVA_HOME, используя это.
https://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows
Мой путь C:\Progra~1\Java\jdk1.8.0_20\jre
Теперь, когда я запускаю service.bat, терминал немедленно закрывается при открытии.
Когда я запускаю elasticsearch.bat, терминал печатает некоторые строки, и через некоторое время он просто остается там, и я ничего не могу напечатать.
EDIT:
Я удалил все java, переустановил только бит JRE 64 и установил переменную системной среды в JAVA_HOME
и `C:\Progra ~ 1\Java\jre1.8.0_20
Я обнаружил, что есть CLASSPATH
, который установлен на 32-битную, более старую версию java. Должен ли я удалить эту переменную?
Ответы
Ответ 1
ШАГ 1
Вы можете проверить JAVA_HOME
на C:\Progra~1\Java\jdk1.8.0_20
,
C:\>echo %JAVA_HOME%
Кроме того, проверяется команда java
,
java -version
Ссылка
Проверьте, присутствует ли JAVA_HOME в среде с помощью пакета script
ШАГ 2
Если JAVA_HOME
не задано, выполните следующие шаги: Как установить Java Home в Windows
Резюме,
- Щелкните правой кнопкой мыши значок Мой компьютер на рабочем столе и выберите "Свойства".
- Перейдите на вкладку "Дополнительно".
Нажмите кнопку Переменные среды. В разделе "Системные переменные" нажмите Новый.
- Введите имя переменной как JAVA_HOME.
-
Введите значение переменной в качестве пути установки для JDK.
(например, C:\Progra~1\Java\jdk1.8.0_20
).
- Нажмите "ОК".
- Нажмите "Применить изменения".
Ответ 2
Обходной путь, если у вас нет привилегий для настройки переменных окружения:
откройте файл elasticsearch.bat,
a) Удалите строку:
if NOT DEFINED JAVA_HOME goto err
b) Замените% JAVA_HOME% на ваш java-путь jdk, например: C:\Program Files\Java\jdk1.7.0_51
И для того, чтобы начать работу с вашим терминалом, и вы не можете вводить что-либо, это
сервер elasticsearch, вам нужно подключиться к нему с помощью клиента, такого как cygwin.
https://cygwin.com/install.html
Для подключения к серверу обратитесь к документации по elasticsearch.
http://www.elasticsearch.org/guide/
Аналогичный вопрос уже был дан:
"JAVA_HOME указывает на недопустимую проблему установки Java" с командой установки сервиса в поиске эластичности
Ответ 3
выполните следующую команду:
set JAVA_HOME=C:\Program Files\Java\jre8
Ответ 4
Я столкнулся с аналогичной проблемой, когда Java-дом уже настроен, но все же он бросает ошибку.
Откройте файл elasticsearch-plugin.bat и измените "IF DEFINED JAVA_HOME" на "IF DEFINED% JAVA_HOME%", если у вас уже установлен Java-дом.
Спасибо
Ответ 5
Вы можете установить общесистемные переменные среды, нажав кнопку "Пуск", указав "Компьютер", щелкнув правой кнопкой мыши и выбрав свойства. Затем нажмите "Дополнительные системные настройки", нажав вкладку "Дополнительно" и выбрав "Переменные среды". Появится окно, в котором вы можете установить переменную JAVA_HOM
E. Вы можете сделать это либо для текущего пользователя (верхняя панель), либо для всей системы.
![Environment variables dialog]()
После этого откройте новое окно cmd (меню "Пуск", введите "cmd
" и нажмите "Enter" ), и убедитесь, что JAVA_HOME
установлен как в вопросе выше.
Ответ 6
Это довольно распространенная ошибка, среда JAVA_HOME не установлена. Итак, нам нужно установить его на более заметной основе. Он запрашивает путь к директории jre, а не к каталогу bin, т.е. Путь среды java для настройки и запуска elasticsearch. Поэтому убедитесь, что вы не указали каталог bin в своем пути. Затем вы можете запустить свой elasticsearch, и он будет запущен и запущен на порту по умолчанию 9200.