Java несколько версий windows
Java обновляется так быстро, как гибко переключаться между несколькими версиями и управлять ими?
предисловие
Конфигурирование одной переменной среды Java само по себе не имеет технического содержания, но когда необходимо управлять несколькими версиями Java, многократно настраивать переменные среды явно скучно. В соответствии с традиционным методом настройки мы не можем гибко переключать версии Java
Как вы можете легко управлять и использовать несколько версий Java?
Мульти-версия Java управления
Очевидно, что мы не первые, кто столкнулся с этой дилеммой. Есть три существующих решения, о которых я знаю:
Эта статья в основном объясняет, как использовать sdkman, чтобы преодолеть дилемму, с которой мы сталкиваемся, и помочь нам гибко настраивать и использовать Java
Введение в SDKMAN
SDKMAN - это инструмент для управления большинством Unix-системНесколько комплектов для разработки программного обеспечения (Java, Groovy, Scala, Kotlin и Ceylon. Ant, Gradle и др.) Параллельная версия инструмента.
Он предоставляет удобный интерфейс командной строки (CLI) и API для монтаж 、 переключатель 、 Удалить с участием Список кандидатов , Эта статья в основном объясняет использование sdkman при управлении Java
установка SDKMAN
Легко установить sdkman на Unix-подобные платформы. Он может быть успешно установлен на Mac OSX, Linux, WLS, Cygwin, Solaris и FreeBSD, а также поддерживает оболочки Bash и ZSH.
Просто откройте новый терминал и введите:
Следуйте инструкциям на экране и продолжайте ввод после выполнения соответствующих операций:
Здесь мы можем проверить установленную версию SDK:
Красная пометка выше показывает мою текущую версию sdkman, каждый раз, когда она выполняется sdk version Когда вы заказываете, вы будете проверять, будет ли новая версия, если вы хотите обновить вход y жестяная банка
Некоторые системные выпуски не включают zip с участием unzip Если вы столкнулись с ошибками во время установки, вы можете ввести следующую команду для установки zip с участием unzip
Как видно из приведенной выше команды установки, путь установки sdkman по умолчанию: $HOME/.sdkman Далее мы также можем настроить путь установки, просто укажите SDKMAN_DIR Значение переменной просто отлично:
На этом установка sdkman завершена, давайте посмотрим, как использовать
SDKMAN учебник
Изучение нового гаджета из командной строки - это, конечно, просмотр его справочной команды, введите:
Чувствуется, что после того, как вышеприведенное изображение различает содержимое по цвету, инструкция sdkman будет закончена. Мы подробно объясним руководство по использованию согласно приведенному выше изображению.
sdk list
Зеленая метка - это все доступные кандидаты, интегрированные sdkman. Вы можете увидеть больше доступных кандидатов, нажав кнопку «Ввод».
Мы указываем кандидата и вводим:
На изображении выше вы можете увидеть все доступные версии Java, а также идентификатор идентификатора и статус статуса, я установил Java 12 и 11
Имея эту информацию в качестве основы, мы можем установить любой встроенный комплект разработки программного обеспечения sdkman, продолжая использовать java в качестве примера.
sdk install
Возвращаясь к выводу команды помощи sdkman, используя команду install, мы устанавливаем еще одну последнюю версию Java 13.0.1.j9 версия
Как видно из рисунка выше, содержимое, выделенное зеленым, является значением версии в результате выполнения команды list, но ошибка недоступна, введите indentifier Серийный номер можно скачать нормально, пожалуйста, обратите внимание здесь
После завершения установки, статус запрограммирует установленное состояние.
sdk current
При установке нескольких версий Java, мы вводим следующую команду, чтобы получить текущую версию кандидата
sdk use
Зная текущую версию, если мы хотим перейти на другую версию, мы можем ввести:
Примечание: здесь также указано значение указанного идентификатора.
sdk default
Если мы хотим указать определенную версию в качестве версии по умолчанию, мы можем ввести:
Примечание: здесь также указано значение указанного идентификатора.
sdk uninstall
Когда мы хотим удалить определенную версию, мы можем ввести:
Примечание: здесь также указано значение указанного идентификатора.
sdk upgrade
Если мы хотим обновить кандидата, мы можем ввести:
sdk flush
Очистка загруженных двоичных файлов sdk (очистка после длительного использования, может сэкономить много места):
Очистить содержимое временных файлов:
До сих пор основное использование sdkman было введено. sdk help Просто проверьте это
SDKMAN удалить
Если нам не нравится sdkman, мы также можем легко удалить его:
Наконец, откройте .bashrc, .bash_profile и / или .profile, найдите и удалите следующие строки.
Я использую zshrc, нахожу файл .zshrc и удаляю вышеуказанный контент
На данный момент, на основе системы Unix, были представлены установка, использование и загрузка sdkman. Вы можете попробовать. Я считаю, что многие мелкие партнеры используют Windows. В дополнение к jenv, sdkman и Jabba предлагают решения для пользователей Windows:
SDKMAN Windows решение
Официальная страница официального сайта sdkman также предоставляет решения для пользователей Windows, и друзья могут найти следующее местоположение для просмотра.
У нас есть несколько приложений, работающих на Java 5, и теперь мы хотели бы представить приложение, основанное на Java 6. Могут ли обе версии java работать вместе под Windows?
Есть ли какая-либо панель управления для установки соответствующей версии Java для различных приложений или какой-либо другой способ настройки, какая версия Java будет использоваться для запуска этого конкретного приложения?
Конечно, вы можете использовать несколько версий Java под Windows. И разные приложения могут использовать разные версии Java. Как ваше приложение запускается? Обычно у вас есть командный файл, в котором есть что-то вроде
Это будет искать исполняемый файл Java с использованием переменной PATH. Таким образом, если Java 5 находится первой в PATH, у вас возникнут проблемы с запуском приложения Java 6. Затем вы должны изменить пакетный файл, чтобы использовать определенную версию Java, например, определив переменную среды JAVA6HOME со значением C:\java\java6 (если Java 6 установлена в этом каталоге) и измените вызов пакетного файла
В Windows, чтобы остановить установку Java, заменяющую вашу существующую (первую установленную) установку Java, вы должны передать ей аргумент STATIC = 1, т.е. запустить из командной строки "jre-6u24-windows-i586-s.exe / STATIC = 1" Когда я выполняю "jdk-6u27-windows-x64.exe / STATIC = 1" в Windows 7 64, он не устанавливается, а просто вызывает всплывающее окно, показывающее использование msiexec. Согласно этому документу Oracle, это действительно так jdk-. exe STATIC=1 . Я попробовал это, и это сработало. Ребята, вы путаете JDK и JRE. JRE принимает в STATIC качестве аргумента, но делает ли JDK тоже? @reallyinsane Я не могу этого понять. Ответ не упрощен для новичка. Можете ли вы связать меня с полным руководством?Абсолютно возможно установить несколько версий JRE / JDK бок о бок. Более того, вам не нужно делать ничего особенного, чтобы это произошло, поскольку Sun создает отдельную папку для каждой из них (в разделе Program Files).
Нет панели управления, чтобы проверить, какая JRE работает для каждого приложения. По сути, JRE, которая будет работать, будет первой в вашей переменной среды PATH. Вы можете изменить это, или переменную JAVA_HOME, или создать определенные файлы cmd / bat для запуска желаемых приложений, каждое с другим JRE в пути.
@Casey, о какой части ты говоришь? Почему это неправда? Этот ответ объясняет проблему. Реестр Windows используется для поиска версии java по умолчанию. Хотя часто верно, что программа Java будет нормально работать на новой версии Java, отличной от той, для которой она была разработана, нет никаких гарантий. Кроме того, в большинстве случаев необходимо обновить переменную среды JAVA_HOME.Я был потрясен неуклюжестью идей CLASSPATH, JAVA_HOME и PATH в Windows для отслеживания файлов Java. Я попал сюда из-за нескольких JRE и того, как этим довольствоваться. Не повторяя информации от парня, гораздо более умного, чем я, я бы предпочел указать на его статью по этому вопросу, которая, на мой взгляд, решает ее отлично.
Должна быть возможность изменять настройку переменной среды JAVA_HOME по-разному для конкретных приложений.
При запуске из командной строки или из пакетного сценария вы можете использовать set JAVA_HOME=C:\. \j2dskXXX для изменения среды JAVA_HOME.
Возможно, вам также потребуется изменить PATH переменную среды, чтобы использовать правильный двоичный файл java. Для этого можно использовать set PATH=%JAVA_HOME%\bin;%PATH% .
С помощью SDKMan мы можем установить несколько версий комплектов для разработки Java на одном компьютере.
Некоторые особенности SDKMan следующие:
- SDKMan можно использовать бесплатно, и он разработан сообществом с открытым исходным кодом.
- SDKMan написан на bash и требует, чтобы в вашей системе присутствовали только программы curl и zip / unzip .
- SDKMan может установить около 29 комплектов разработки программного обеспечения для JVM, таких как Java, Groovy, Scala, Kotlin и Ceylon. Ant, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x.
- Нам не нужно беспокоиться об установке переменных среды _HOME и, PATH потому что SDKMan обрабатывает это автоматически.
SDKMan может работать на любых платформах на базе UNIX, таких как Mac OSX, Linux, Cygwin, Solaris и FreeBSD, и мы можем установить его, используя следующие команды:
Потому что SDKMan написан на bash и требует, чтобы в вашей системе присутствовали только curl и zip / unzip . Вы также можете установить SDKMan в Windows, сначала установив Cygwin или Git Bash для среды Windows, а затем выполнив указанные выше команды.
Команда sdk list java предоставит нам список версий java, которые мы можем установить с помощью SDKMan.
Установка Java 8
Установка Java 9
Установка Java 11
Удаление версии Java
Если вы хотите удалить любую версию JDK, например, 11.0.2-open, вы можете сделать это следующим образом:
Смена текущей версии Java
Если вы хотите активировать одну версию JDK для всех терминалов и приложений, вы можете использовать команду
Вышеупомянутые команды также автоматически обновят переменные PATH и JAVA_HOME. Вы можете прочитать больше в моей статье Как установить несколько версий Java на одном компьютере .
Некоторое время назад я написал одну статью Java Lambda Expression с объяснением на примере, но мне было легко исследовать и Java 8, потому что я использовал его в своем проекте, и мне было разрешено установить и использовать его. Но в моем текущем проекте мы все еще используем Java 8, и теперь я хочу обновить себя и изучить Java 11, но не могу установить его.
И это происходит со многими разработчиками Java. Иногда вы хотите изучить и изучить последнюю версию Java, например Java 11, но вы не можете установить ее на свой компьютер, потому что вы и ваша команда работаете над какой-то более старой версией, например Java 8, и вы не хочу ломать ваш проект.
Или предположим, что вы работаете над несколькими проектами, некоторые из которых используют Java 8, а некоторые новые проекты используют Java 11. Так что для параллельной работы над этими проектами вам нужно будет установить несколько JDK на вашу машину, и вы сможете переключаться между ними. между ними.
Что, если есть способ, и что, если у вас есть возможность установить несколько версий Java и выключить и включить их в соответствии с вашими потребностями.
Ну, есть инструмент под названием SDKMan, который позволяет нам делать то же самое и согласно официальному сайту:
SDKMan! это инструмент для управления параллельными версиями нескольких
Комплекты разработки программного обеспечения на большинстве систем на основе Unix. Он предоставляет удобный интерфейс командной строки (CLI) и API для установки, переключения, удаления и вывода списка кандидатов.
Некоторые моменты о SDKMan следующие:
- SDKMan бесплатен для использования и разработан сообществом открытого кода.
- SDKMan написан на bash и для его работы требуются только программы curl и zip / unzip .
- SDKMan может установить около 29 комплектов разработки программного обеспечения для JVM, таких как Java, Groovy, Scala, Kotlin и Ceylon. Муравей, Gradle, Grails, Maven, SBT, Spark, Spring Boot, Vert.x.
- Нам не нужно беспокоиться о настройке PATH среды _HOME и PATH потому что SDKMan обрабатывает их автоматически.
Установка SDKMan
SDKMan может работать на любых платформах на основе UNIX, таких как Mac OSX, Linux, Cygwin, Solaris и FreeBSD, и мы можем установить его с помощью следующих команд:
Я работаю над несколькими проектами, и некоторые из них используют разные JDK. Переключение между версиями JDK не удобно. Поэтому мне было интересно, есть ли простой способ изменить его?
Я нашел 2 способа, которые должны решить эту проблему, но это не работает.
первым решением является создание файлов bat, как это:
и после запуска этой летучей мыши я вижу правильную версию Java. Но когда я закрываю этот CMD и открываю новый и набираю " java-версия" он говорит, что у меня все еще есть 1.8.0_25. Так что это не работает.
второе решение, которое я нашел-это приложение этой сайт. И это тоже не работает. Тот же эффект, что и в первом решении.
какие идеи? Потому что изменение JAVA_HOME и PAHT: Win + Pause - > расширенные Системные настройки - > Переменные среды - > и редактирование этих переменных-ужасный способ.
на set команда работает только для текущего терминала. Для постоянной установки системной или пользовательской переменной среды можно использовать setx .
на /m опция используется для установки переменной в системе (и не только для текущего пользователя). Для использования этой опции терминал должен быть запущен от имени администратора.
переменная будет доступна во всех новых окнах терминала, но не в текущем. Если вы хотите отобразить путь в то же окно, вам нужно использовать оба set и setx .
вы можете избежать манипулирования PATH переменная, если вы только один раз поставили %JAVA_HOME% там, вместо полного пути JDK. Если вы измените JAVA_HOME , PATH будет обновлено.
существует также несколько редакторов переменных среды в качестве альтернативы громоздким настройкам переменных среды Windows. См."есть ли удобный способ редактирования пути в Windows 7?" по супер Пользователь.
Если ваш путь имеет менее 1024 символов, можно выполнить (запуск от имени администратора) этот скрипт:
- открыть Environment Variables editor (File Explorer > щелкните правой кнопкой мыши на Этот ПК > свойства > дополнительные системные настройки > окружающая среда Переменная. )
- найти Path переменная системные переменные список > нажмите Edit > put %JAVA_HOME%bin; в первой позиции. Это необходимо потому что Java installer добавляет C:\Program Files (x86)\Common Files\Oracle\Java\javapath до PATH который ссылается на последнюю установленную версию Java.
теперь вы можете переключаться между Java версия с использованием (должен быть запущен с правами администратора):
(Примечание: в конце строки нет двойной кавычки и не должно быть или вы получите c:\Program Files\Java\jdk-10.0.1\" в своем JAVA_HOME переменная и она ломает ваш PATH переменной)
решение с системными переменными (и административными разрешениями) является более надежным, потому что оно помещает желаемый путь к Java в начале результирующего PATH переменная.
Читайте также: