На основе ответа на вопрос «Как установить или изменить версию Java (JDK) по умолчанию в macOS?» который объясняет, как macOS определяет, какую версию Java следует использовать, при условии, что вы не установили переменную среды JAVA_HOME. Когда вы используете один JDK, это не такая уж большая проблема. Если все ваши проекты ориентированы на последнюю установленную версию JDK, это не проблема. Проблема проявляется, когда вам нужно настроить несколько JDK для нескольких проектов, которые используют больше функций, чем предоставляет IDE (на ум приходят git-хуки). Если бы все делалось через терминал, а IDE использовалась исключительно для функций редактирования, тогда вы бы установили, например. JAVA_HOME="$(/usr/libexec/java_home --version 21.0.2)" для данного терминала, но это необходимо каскадировать из IDE, таких как IntelliJ, поскольку они позволяют устанавливать JDK для конкретного проекта.
Один из способов сделать это в IntelliJ может использовать макросы и использовать макрос $ModuleSdkPath$ и установить его через Настройки -> Инструменты -> Терминал -> Переменные среды, но это место не разрешает макросы перед запуском оболочки, а скорее отправляет их как есть.
Код: Выделить всё
dragas@home dragas-at-home % env | grep JAVA
JAVA_HOME=$ModuleSdkPath$
Как каскадировать конфигурацию JDK проекта в терминалы, созданные IntelliJ?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... l-on-macos