предисловие
За последние два года версия Java часто обновлялась, и я чувствую, что только что освоил Java 8. При написании этой статьи я слышал новости о java14, будь то новая функция (Использование суперфункции Collectors.teeing в Java12), или из-за необходимости обновления/совместимости проекта мы все можем столкнуться с ситуацией управления несколькими версиями Java.
Кроме того, Oracle изменила пользовательское соглашение по сравнению с Java11, и за любое коммерческое использование взимается плата. На момент написания этой статьи я получил сообщение «Microsoft объявила о присоединении к OpenJDK», поэтому я выбрал OpenJDK. Не стесняйтесь G, и вы можете понять это как историю
Настройка одной переменной среды 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.
Просто откройте новый терминал и введите:
$ curl -s "https://get.sdkman.io" | bash
Следуйте соответствующим инструкциям и продолжайте входить после выполнения соответствующих операций:
$ source "$HOME/.sdkman/bin/sdkman-init.sh"
Здесь мы можем проверить установленную версию SDK:
$ 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
После того, как я почувствую, что содержимое на изображении выше отличается цветом, инструкции по использованию sdkman закончены.Давайте следовать изображению выше, чтобы подробно объяснить учебник.
sdk list
Сначала введите:
$ sdk list
Зеленые метки — это все доступные кандидаты, интегрированные sdkman.Нажав кнопку «Ввод», вы увидите больше доступных кандидатов
Указываем кандидата и вводим:
$ 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 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, пожалуйста, попробуйте это сами.Если у вас есть какие-либо вопросы, пожалуйста, оставьте сообщение.
вопрос души
- Какую версию Java вы используете сейчас?
- Последовала новая версия, чтобы попробовать больше новой функции?
- Ваши фонари все еще горят?
Добро пожаловать, чтобы продолжать обращать внимание на общественный номер: «Сун Гун И Бин».
- Передовая технология Java для обмена галантереей
- Резюме эффективных инструментов | Ответ на «Инструменты»
- Анализ вопроса интервью и ответ
- Сбор технических данных | Ответ на «данные»
Узнайте о стеке технологий Java легко и весело, думая о чтении детективных романов, и постепенно разлагайте технические проблемы, основываясь на принципах упрощения сложных проблем, конкретизации абстрактных проблем и графики.Технология постоянно обновляется, пожалуйста, продолжайте платить внимание...