Java обновляется так быстро, как гибко переключаться между версиями и управлять ими?

Java
Java обновляется так быстро, как гибко переключаться между версиями и управлять ими?

предисловие

За последние два года версия Java часто обновлялась, и я чувствую, что только что освоил Java 8. При написании этой статьи я слышал новости о java14, будь то новая функция (Использование суперфункции Collectors.teeing в Java12), или из-за необходимости обновления/совместимости проекта мы все можем столкнуться с ситуацией управления несколькими версиями Java.

Кроме того, Oracle изменила пользовательское соглашение по сравнению с Java11, и за любое коммерческое использование взимается плата. На момент написания этой статьи я получил сообщение «Microsoft объявила о присоединении к OpenJDK», поэтому я выбрал OpenJDK. Не стесняйтесь G, и вы можете понять это как историю

Настройка одной переменной среды Java сама по себе не имеет технического содержания, но когда необходимо управлять несколькими версиями Java, очевидно, что многократно настраивать переменные среды очень скучно.Согласно традиционному методу настройки, мы не можем гибко переключать версии Java.

Как легко управлять несколькими версиями Java и использовать их?

Управление несколькими версиями Java

Очевидно, что мы не первые, кто сталкивается с этой дилеммой, есть три существующих сценария, о которых я знаю:

  1. Jabba
  2. jenv
  3. sdkman

В этой статье в основном объясняется, как преодолеть дилемму, с которой мы сталкиваемся при использовании 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.

Просто откройте новый терминал и введите:

$ curl -s "https://get.sdkman.io" | bash

Следуйте соответствующим инструкциям и продолжайте входить после выполнения соответствующих операций:

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

Здесь мы можем проверить установленную версию SDK:

$ sdk version

sdk version

Красная метка на картинке выше показывает версию моего текущего sdkman каждый раз, когда я выполняюsdk versionкоманда, проверит, есть ли новая версия, если вы хотите обновить вводyможет

Некоторые системные дистрибутивы не содержатzipиunzip, если вы столкнулись с соответствующими ошибками во время установки, вы можете ввести следующие команды для установкиzipиunzip

$ sudo apt-get install zip unzip

Как видно из приведенной выше команды установки, путь установки sdkman по умолчанию находится в$HOME/.sdkmanНиже мы также можем настроить путь установки, просто нужно указатьSDKMAN_DIRЗначение переменной просто прекрасно:

$ export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash

На этом установка sdkman окончена, давайте посмотрим, как пользоваться

учебник по sdkman

Чтобы узнать что-то новое в командной строке, конечно же, посмотрите ее справочную команду и введите:

$ sdkman help

sdk help

После того, как я почувствую, что содержимое на изображении выше отличается цветом, инструкции по использованию sdkman закончены.Давайте следовать изображению выше, чтобы подробно объяснить учебник.

sdk list

Сначала введите:

$ sdk list

sdk list

Зеленые метки — это все доступные кандидаты, интегрированные sdkman.Нажав кнопку «Ввод», вы увидите больше доступных кандидатов

Указываем кандидата и вводим:

$ sdk list java

sdk list java

На приведенном выше рисунке вы можете увидеть все доступные версии Java, а также идентификатор идентификации и статус статуса, я установил Java 12 и 11.

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

sdk install

Оглядываясь назад на вывод команды справки sdkman, с помощью команды install мы устанавливаем еще одну последнюю версию Java.13.0.1.j9Версия

Как видно из рисунка выше, содержимое, отмеченное зеленым цветом, является значением версии в результате команды списка, но ошибка недоступна, введитеindentifierномер можно скачать нормально, тут нужно обратить внимание

После установки статус запрограммирует установленное состояние

sdk current

При установке нескольких версий Java мы вводим следующую команду, чтобы получить версию, которая в настоящее время использует кандидата.

$ sdk current java

sdk current java

sdk use

Зная текущую версию, если мы хотим переключиться на другие версии, мы можем ввести:

$ sdk use java 12.0.2.j9-adpt

Примечание⚠️: здесь также указано значение указанного идентификатора

sdk default

Если мы хотим указать определенную версию в качестве версии по умолчанию, мы можем ввести:

$ sdk default java jdk1.8.0_162.jdk

Примечание⚠️: здесь также указано значение указанного идентификатора

sdk uninstall

Когда мы хотим удалить определенную версию, мы можем ввести:

$ sdk uninstall java 12.0.2.j9-adpt

Примечание⚠️: здесь также указано значение указанного идентификатора

sdk upgrade

Если мы хотим обновить кандидата, мы можем ввести:

$ sdk upgrade java

sdk flush

Использование sdkman в течение длительного времени будет медленно генерировать много кэшированного контента, мы можем ввести Очистить широковещательные сообщения:

$ sdk flush broadcast

Очистите загруженные двоичные файлы SDK (очистка после длительного использования может сэкономить много места):

$ sdk flush archives

Очистить содержимое временного файла:

$ sdk flush temp

Здесь было представлено основное использование sdkman На самом деле нет необходимости спешить с этими командами и выполнять их, когда вы не можете их запомнить.sdk helpПросто проверьте это, когда вы придете

sdkman удалить

Если нам больше не нравится sdkman, мы также можем легко удалить его:

$ tar zcvf ~/sdkman-backup_$(date +%F-%kh%M).tar.gz -C ~/ .sdkman
$ rm -rf ~/.sdkman

Наконец, откройте свой .bashrc, .bash_profile и/или .profile и найдите и удалите следующие строки.

#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
[[ -s "/home/dudette/.sdkman/bin/sdkman-init.sh" ]] && source "/home/dudette/.sdkman/bin/sdkman-init.sh"

Я использую zshrc, нахожу файл .zshrc и удаляю вышеуказанное содержимое.

До сих пор на основе системы Unix были введены установка, использование и загрузка sdkman. Вы можете попробовать его. Я считаю, что многие мелкие партнеры используют Windows. Кроме jenv, sdkman и Jabba имеют решения для пользователей Windows:

sdkman решение для Windows

На главной странице официального сайта sdkman также представлены решения для пользователей Windows. Друзья могут найти следующие места для просмотра

Я посмотрел на процесс, и он очень прост.Поскольку под рукой нет компьютера с Windows, пожалуйста, попробуйте это сами.Если у вас есть какие-либо вопросы, пожалуйста, оставьте сообщение.

вопрос души

  1. Какую версию Java вы используете сейчас?
  2. Последовала новая версия, чтобы попробовать больше новой функции?
  3. Ваши фонари все еще горят?

Добро пожаловать, чтобы продолжать обращать внимание на общественный номер: «Сун Гун И Бин».

  • Передовая технология Java для обмена галантереей
  • Резюме эффективных инструментов | Ответ на «Инструменты»
  • Анализ вопроса интервью и ответ
  • Сбор технических данных | Ответ на «данные»

Узнайте о стеке технологий Java легко и весело, думая о чтении детективных романов, и постепенно разлагайте технические проблемы, основываясь на принципах упрощения сложных проблем, конкретизации абстрактных проблем и графики.Технология постоянно обновляется, пожалуйста, продолжайте платить внимание...