Не удалось найти исполняемый файл в “/Library/Java/JavaVirtualMachines

Вопрос или проблема

Каждый раз, когда я пытаюсь выполнить любую команду apt на своем Mac, я получаю

Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home/bin/apt" (-1)

ошибку.

Мой .bash_profile выглядит следующим образом:

Export JAVA_HOME=/Library/Java/Home
# Настройка PATH для Python 3.7
# Оригинальная версия сохранена в .bash_profile.pysave
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH

Попробуйте установить JAVA_HOME в:

/Library/Java/JavaVirtualMachines

Если это не помогает, попробуйте установить JAVA_HOME в вывод этой команды:

/usr/libexec/java_home

Инструмент apt, очевидно, был удален, начиная с Java 8. См. дополнительное объяснение на https://stackoverflow.com/questions/61847716/unable-to-locate-an-executable-at-library-java-javavirtualmachines

Ответ или решение

Ошибка, связанная с невозможностью найти исполняемый файл в пути "/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home/bin/apt" (-1)", является распространенной среди пользователей, недавно обновившихся или настраивающих Java на своих системах macOS. Эта ошибка часто возникает из-за некорректной настройки переменной среды JAVA_HOME, а также ввиду изменений в инструментарии Java, начиная с версии Java 8. Ваша проблема начинается с попытки выполнить команду apt на вашем Mac, что приводит к вышеупомянутой ошибке.

Теория

Переменная среды JAVA_HOME в операционной системе используется для указания пути к установленной Java Development Kit (JDK). Правильная настройка этой переменной необходима для того, чтобы системы или приложения могли находить необходимые компоненты Java. В вашем случае, она, по всей видимости, установлена неправильно или указывает на устаревшую версию JDK, которая может больше не содержать утилиту apt.

Также стоит учесть, что начиная с Java 8 утилита apt была удалена и заменена другими инструментами, такими как аннотации, предлагаемые инструментами компилятора. Следовательно, даже если бы существовало правильное указание на более старую утилиту apt, это не является современной практикой в разработке с использованием Java.

Пример

Вы упомянули ваш текущий .bash_profile, содержащий строку:

Export JAVA_HOME=/Library/Java/Home

Этот путь может быть некорректным или устаревшим. Вместо этого следует использовать более безопасный механизм, предлагаемый macOS, — команду /usr/libexec/java_home. Она автоматически указывает на последнюю установленную версию JDK. Таким образом, ваш .bash_profile может быть изменен следующим образом:

export JAVA_HOME=$(/usr/libexec/java_home)
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH

Применение

Теперь давайте подробно разберем шаги, которые вы можете предпринять для решения вашей проблемы:

  1. Проверьте текущую установку Java:

    • Откройте терминал и введите команду java -version, чтобы убедиться, что Java установлена корректно и определить, какая версия активна.
  2. Используйте /usr/libexec/java_home:

    • Измените ваш .bash_profile, как предложено выше, чтобы убедиться, что система всегда находит актуальную версию JDK.
  3. Обновите Java при необходимости:

    • Если у вас установлена старая версия Java, рассмотрите возможность обновления до более свежей версии, которая соответствует современным требованиям и не вызывает подобных проблем. Это можно сделать через официальный сайт Oracle или OpenJDK для более свободного выбора.
  4. Проверьте PATH:

    • Убедитесь, что путь к bin директории Java включен в переменную PATH, но это уже может не быть необходимым, если вы правильно установили JAVA_HOME.
  5. Удалите или игнорируйте использование устаревших инструментов:

    • Поскольку утилита apt была удалена из комплекта JDK, есть смысл пересмотреть необходимость ее использования и искать современные эквиваленты или альтернативные подходы в зависимости от ваших задач.

Изменив свои настройки согласно вышеуказанным рекомендациям, вы сможете устранить ошибку и обеспечить стабильную работу Java на вашей системе. Кроме того, учитывать такие изменения в инструменте, как удаление apt, поможет избежать будущих проблем при обновлении до новых версий JDK. Эта информация должна обеспечить вам наиболее актуальный подход к управлению и настройке Java среды на macOS.

Оцените материал
Добавить комментарий

Капча загружается...