Смена JAVA_HOME в Ubuntu
После обновлений в Ubuntu бывают ситуации когда приложения использующие Java перестают работать(ошибки при запуске) или не запускаются. Зачастую это связано с тем, что приложения начинают использовать установленную с апдейтами новую версию Java. Например PhpStorm 9.0.2 не хочет работать с Java 9. Для того что бы заставить использовать версию «пониже» достаточно сменить системную переменную JAVA_HOME и указать какую версию Java использовать.
sudo update-alternatives --config java
После этого выведется список Java версий установленных в системе. Выберете подходящую версию указав цифру из списка.
Теперь JAVA_HOME — будет «указывать» на выбранную версию Java.
Как выбрать версию Java, используемую по умолчанию в Arch Linux

В стандартных репозиториях Arch Linux (и производных дистрибутивах) доступно несколько версий JDK и OpenJDK. Вы можете установить одну или несколько из них. Даже если у вас установлена последняя версия, некоторые программы могут устанавливать другую версию JDK в качестве своей зависимости — допускается иметь несколько версий, они не вызывают конфликтов.
После этого вы можете посмотреть, какая из этих версий используется по умолчанию, а также изменить её с помощью программы archlinux-java.
archlinux-java
В качестве КОМАНДЫ может быть:
status Выводит список установленных окружений Java и показывают используемую по умолчанию get Возвращает короткое имя окружения Java, установленного для использования по умолчанию set Принудительно в качестве значения по умолчанию unset Удаляет текущее дефолтное значение для окружения Java fix Исправляет недействительные/сломанные конфигурации окружения Java
Начните с просмотра статуса:
archlinux-java status
Как можно увидеть, у меня доступны два окружения Java
- java-11-openjdk
- java-14-openjdk
И ни одно окружение Java не выбрано в качестве используемого по умолчанию.
Устанавливаю в качестве используемого окружения java-14-openjdk:
sudo archlinux-java set java-14-openjdk
Вновь делаю проверку:
archlinux-java status
Как можно убедиться, теперь используется java-14-openjdk — об этом говорит слово (default).
Ошибки: команда java, javac или javap не найдена
При попытке запуска одной из следующих программ вы можете столкнуться с ошибками:
java bash: java: команда не найдена # ИЛИ bash: /usr/bin/java: Нет такого файла или каталога javac bash: javac: команда не найдена # ИЛИ bash: /usr/bin/javac: Нет такого файла или каталога javap bash: javap: команда не найдена # ИЛИ bash: /usr/bin/javap: Нет такого файла или каталога
Если вы уже установили JDK, то вам нужно выбрать версию, которая будет использоваться по умолчанию. Это можно сделать с помощью archlinux-java как это показано чуть выше. После этого ошибка исчезнет.
Близкие статьи
- Восстановление из чёрного экрана при неудачной установке проприетарных AMD драйверов в BlackArch / Arch (52.1%)
- Решение проблемы X server не поднимается в VirtualBox VM после обновления ядра до 4.5 (52.1%)
- Решение ошибки reaver: invalid option — ‘K’ (52.1%)
- Решение проблемы Arch Linux kernel 4.7 в VirtualBox: reached target graphical interface (52.1%)
- Решение проблемы Failed to configure CA certificate chain!, Fatal error initialising mod_ssl, exiting. (52.1%)
- Включение функциональности /etc/rc.local в Arch Linux (RANDOM — 50%)
evgenymarkov / README.md
На компьютере иногда необходимо иметь несколько разных версий Java. Причины могут быть различные:
- работа с несколькими проектами, которые работают только с определённой версией;
- эксперименты с новыми версиями в домашних проектах, разработка рабочих проектов на стабильной версии.
Наиболее оптимальный способ установки и обновления Java на macOS – через пакетный менеджер Homebrew.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Проект AdoptOpenJDK распространяет предкомпилированные версии OpenJDK под все платформы. У них есть свой репозиторий в Homebrew.
Добавление репозитория AdoptOpenJDK:
brew tap adoptopenjdk/openjdk
Установка последней версии OpenJDK, а также версий с долгим сроком поддержки (LTS):
brew cask install adoptopenjdk brew cask install adoptopenjdk8 brew cask install adoptopenjdk11
Утилита jenv позволяет удобным образом переключать версию Java глобально, локально в пределах директории, а также на время сессии в терминале.
brew install jenv
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(jenv init -)"' >> ~/.bash_profile jenv enable-plugin export
Добавление установленных версий Java в jenv:
jenv add $(/usr/libexec/java_home) jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
Часто используемые команды:
- jenv versions — просмотр списка добавленных версий Java;
- jenv global $ – переключение глобальной версии Java;
- jenv local $ – выставлении версии Java в пределах директории;
- jenv shell $ – выставление версии Java на сессию в терминале.
Как поменять знак числа java
Чтобы поменять знак числа на противоположный, в Java можно использовать унарный оператор — . Для примера напишем метод, который будет менять знак числа на противоположный:
class App public static int changeSign(int num) return -num; > >
App.changeSign(-5); // 5 App.changeSign(7); // -7 App.changeSign(); // 0