JAVA_HOME не определен правильно Ошибка при компиляции - PullRequest
5 голосов
/ 27 января 2010

Я разрабатываю приложение в какао, которое использует некоторые классы java. Я получаю ошибку "JAVA_HOME не определен правильно. Мы не можем выполнить /System/Library/Frameworks/JavaVM.framework/Home/bin/java".I dont знаете, как решить эту проблему .. Пожалуйста, кто-нибудь, помогите мне ..

Заранее спасибо

Ответы [ 6 ]

22 голосов
/ 22 ноября 2012
export JAVA_HOME=`/usr/libexec/java_home` is exactly what you want to do.

Фактически, все проекты Apache (ну, на самом деле, любой проект), которые жестко кодируют /System/Library/Frameworks/JavaVM.framework/Versions / ... должны использовать / usr / libexec / java_home, если он существует. Это единственный способ узнать, установлена ​​ли Java на самом деле.

В какой-то момент в будущем символические ссылки в /System/Library/Frameworks/JavaVM.framework/Versions/ исчезнут, что еще более серьезно нарушит эти проекты, если они захотят загружаться с использованием JVM Oracle / OpenJDK.

2 голосов
/ 27 января 2010

Установите JAVA_HOME для указания на каталог .../Home, а не на двоичный файл java. Э.Г.

export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home

Почему вы устанавливаете переменную окружения в первую очередь? Вы не должны делать это на OS X ...

1 голос
/ 13 октября 2016

Добавьте следующую строку в ~/.mavenrc файл

export JAVA_HOME=$(/usr/libexec/java_home)

Ссылка: Maven игнорирует JAVA_HOME в OSX?

1 голос
/ 12 июля 2016

В вашем файле .bashrc добавьте следующие строки:

export JAVA_HOME=/usr
export PATH=$PATH:$JAVA_HOME

Это сработало для меня.

0 голосов
/ 10 апреля 2019

Это также может произойти из-за неправильно настроенного jenv, если оно установлено.

В ~/.bash_profile должно быть 3 строки:

export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
eval "$(jenv enable-plugin export)"

Затем перезагрузите его: source ~/.bash_profile

0 голосов
/ 19 октября 2017

Иногда изменение Java_HOME не помогает, потому что в скрипте apache ant java_home жестко запрограммирован. Если при изменении JAVA_HOME по-прежнему не запускается ant, вы можете попробовать изменить жесткий код по умолчанию на свой JAVA_HOME в ant-скрипте, например:

    $ vi /Users/apache-ant-1.8.3/bin/ant 
    #ant from line 83 to 93
    case "`uname`" in
      CYGWIN*) cygwin=true ;;
      Darwin*) darwin=true
               if [ -z "$JAVA_HOME" ] ; then
 #delete JAVA_HOME=XXXXX(default line) , and give JAVA_HOME ur java home url       




JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
                           fi
                           ;;
                  MINGW*) mingw=true ;;
                esac
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...