2014-11-18 4 views
10

Я работаю над несколькими проектами, а некоторые из них используют разные JDK. Переключение между версиями JDK неудобно. Поэтому мне было интересно, есть ли простой способ изменить его?Переключение между различными версиями JDK в Windows

Я нашел 2 пути, которые должны решить эту проблему, но это не сработает.

Первое решение создает летучая мышь файлы, как это:

@echo off 
echo Setting JAVA_HOME 
set JAVA_HOME=C:\Program Files\Java\jdk1.7.0_72 
echo setting PATH 
set PATH=C:\Program Files\Java\jdk1.7.0_72\bin;%PATH% 
echo Display java version 
java -version 
pause 

И после запуска этой битой, я вижу правильную версию Java. Но когда я закрываю этот CMD и открываю новый и набираю «java -version», он говорит, что у меня все еще есть 1.8.0_25. Так что это не сработает.

Второе решение, которое я нашел, - это приложение с сайта this. И это также не работает. Тот же эффект, что и в первом решении.

Любые идеи? Поскольку изменение JAVA_HOME и PAHT с помощью: Win + Pause -> Advanced System Settings -> Environment Variables -> и редактирования этих переменных, является ужасным способом ...

+0

Установить путь с пакетным файлом и выполнить java тоже внутри командного файла. –

+1

Как вы можете видеть, обе переменные задаются в пакетном файле. Но я не знаю, как выполнить java внутри этого файла. Я нашел это решение на другой странице, и я не знаю, как писать пакетные файлы. – Lui

ответ

10

Команда set работает только для текущего терминала. Чтобы навсегда установить переменную системной или пользовательской среды, вы можете использовать setx.

setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_72" /m 

Опция /m используется для установки переменной для всей системы (а не только для текущего пользователя). Для использования этой опции терминал должен запускаться как администратор.

Переменная будет доступна во всех новых окнах терминала, но не в текущей. Если вы хотите отобразить путь в том же окне, вам необходимо использовать как set, так и setx.

Вы можете избежать манипуляции с переменной PATH, если вы только что разместили %JAVA_HOME%, а не полный путь JDK. Если вы измените JAVA_HOME, то будет также обновлен PATH.


Есть также несколько редакторов переменных окружения в качестве альтернативы громоздким настройкам переменных среды Windows. См. «Is there a convenient way to edit PATH in Windows 7?» на Super User.

+1

Хммм что-то не так ... Я сделал, как вы сказали, и добавляет эти переменные, но для пользователя ... И все же, когда я открываю новый терминал, я получаю информацию о том, что у меня есть другой JDK, чем я хочу ... – Lui

+1

Он отсутствовал параметр/m, я обновил ответ. – Kapep

+0

Спасибо :) Теперь это работает;) – Lui

Смежные вопросы