На основе общесистемного ответа «Как установить версию Java», в котором объясняется, как Macos определяет, какую версию Java следует использовать, при условии, что вы не установили переменную среды JAVA_HOME. Когда вы используете один JDK, это не такая уж большая проблема. Если все ваши проекты ориентированы на новейший и лучший JDK, который вы установили, это не проблема. Проблема проявляется, когда вам нужно настроить несколько JDK для нескольких проектов, которые используют больше функций, чем предоставляет IDE (на ум приходят git-хуки). Если бы все делалось через терминал, а IDE использовалась исключительно для редактирования функций, тогда вы бы установили JAVA_HOME="$(/usr/libexec/java_home --version 21.0.2)" или w.e. для данного терминала, и вы бы продолжили свою жизнь, но это необходимо каскадировать из 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