проблема с Java и переменными среды на окнах - PullRequest
1 голос
/ 27 сентября 2011

У меня любопытная проблема.После установки java jdk 6u25 я проверил установку, набрав java в командной строке.Все работало нормально, консоль отображала параметры использования, как и ожидалось.Это было около 3 недель назад - я недавно переустановил Windows 7 на своем компьютере - теперь я хотел бы начать с игровой среды и следовать учебному пособию.Я получил новое приложение с play new, но не смог использовать play run из-за этого:

play!1.2.3, http://www.playframework.org

Ctrl + C для остановки

Не удалось выполнить исполняемый файл Java, убедитесь, что переменная среды JAVA_HOME установлена ​​правильно.

Самое смешное, что при наборе java в консоли по-прежнему отображаются параметры использования, и ни Eclipse, ни NetBeans не жаловались на отсутствие JDK.Тем не менее я проверил свои переменные окружения и с удивлением обнаружил:

Никаких ссылок на java вообще.

Серьезно, я понятия не имел, как нашли консоль, eclipse и netbeansмоя яваВ качестве первой контрмеры я снова переустанавливал Java, надеясь, что установщик сможет правильно указать путь.Это не так.Теперь я хотел бы получить ваш совет: я должен просто создать переменную JAVA_HOME?Если я это сделаю, будут ли другие версии jdk переопределять переменную, чтобы указывать на новую версию, или мне придется каждый раз менять переменную вручную?Как насчет затмения и нетбинов.Я предполагаю, что они были загружены с их "собственным" JDK.Если я хочу обновить Java на своем компьютере, он также обновит их версии?

Обновление: я установил переменную среды вручную и перезапустил компьютер.Теперь все работает нормально, но я хотел бы знать, что такое символическая ссылка.Не могли бы вы дать мне ссылку в комментарии или кратко объяснить?

Ответы [ 3 ]

3 голосов
/ 27 сентября 2011

Должен ли я просто создать переменную JAVA_HOME?

Существует несколько инструментов, которые используют эту переменную среды, поэтому я рекомендую ее создать.указать новую версию или мне придется каждый раз менять переменную вручную?

Если вы устанавливаете новую версию Java в ту же папку (или создаете символические ссылки), то нет.

Как насчет eclipse и netbeans.Я предполагаю, что они были загружены с их "собственным" JDK.Если я захочу обновить Java на своем компьютере, он также обновит их версии?

Это зависит от того, является ли JDK предустановленным и как выполняется конфигурация.Я не могу говорить о Netbeans, но в Eclipse вы можете добавить это к своему eclipse.ini:

-vm
C:/Java/jre/bin

Обратите внимание, что это пример пути к папке bin.Если вы не добавите туда версии или не используете символические ссылки (см. Выше), вам не придется обновлять путь при установке новой версии.

3 голосов
/ 27 сентября 2011

Eclipse и NetBeans используют другой способ поиска вашей установки Java, чем инструменты командной строки, такие как play, ant, maven, gradle и т. Д.

Среды IDE могут выполнять поиск в вашем реестре, определять местоположения по умолчанию или даже иметь JRE, предварительно упакованный с установкой.

Инструменты командной строки обычно полагаются на переменную JAVA_HOME. И вы должны установить это вручную.

0 голосов
/ 27 сентября 2011

Возможно, у вас есть (более старый?) Java.exe в C: \ windows или другом общем каталоге. Убедитесь, что java, который вы получаете в командной строке, - это тот, который, по вашему мнению, является:

java -version
...