При попытке запустить Gradle я получаю следующую ошибку:
# gradle
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/default-java
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Однако, когда я проверяю переменную JAVA_HOME, я получаю:
# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle
Мой JAVA_HOME определен в .bashrc, и я дважды проверил, что он установлен в качестве источника.
Запуск java -version
также подтверждает, что JAVA_HOME установлен правильно и находится в PATH.
# java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
Я также проверил те /usr/bin/java
ссылки, на /etc/alternatives/java
которые, в свою очередь, правильно/usr/lib/jvm/java-7-oracle/jre/bin/java
Кроме того, я проверил, что в .bash_profile
или нет повторяющихся определений JAVA_HOME /etc/profile
.
Итак, мой вопрос: как / почему Gradle находит /usr/lib/jvm/default-java
, и что более важно, как мне указать его в правильном каталоге?
Другие программы, требующие JDK, работают нормально, поэтому я считаю, что это проблема Gradle. Я также попытался переустановить Gradle, который не имел никакого значения.
Я использую 64-битную версию Xubuntu (база Ubuntu 13.10)
источник
/usr/lib/jvm/default-java
каталог или символическая ссылка? А как вы установили Gradle?/usr/lib/jvm/default-java
реж. Устанавливается с помощью apt (apt-get install gradle)JAVA_HOME
устанавливать не нужно . ЕслиJAVA_HOME
установлено, скрипт использует$JAVA_HOME/bin/java
для запуска Gradle. В противном случае он используетjava
(т.е.java
должен быть наPATH
). Возможно (сторонний) пакет apt использует модифицированный стартовый скрипт.usr/lib/jvm/defult-java
. Спасибо за помощьsource ~/.bashrc
или перезагрузили компьютер после установки JAVA_HOME?Ответы:
Оказывается, что конкретный бинарный файл Gradle, который я скачал из репозитория Ubuntu 13.10 , пытается экспортировать JAVA_HOME. Спасибо Лукасу за предложение.
/usr/bin/gradle
строка 70:Комментирование этой строки решает проблему, и Gradle находит правильный путь к двоичному файлу Java.
Если вы просто загружаете бинарный файл с их сайта, у него нет этой проблемы, это проблема с версией Ubuntu Repo. Также, кажется, есть некоторые другие проблемы с версией 13.10.
источник
добавить символическую ссылку
источник
Решение состоит в том, чтобы сделать JAVA_HOME == dir выше bin, где javac живет как в
Хорошо, так, наконец, нашел корзину выше фактического Javac, так что сделайте это
Выше можно упростить и обобщить до
источник
Для меня эта ошибка была вызвана тем, что Gradle был установлен как sudo, и я пытался как пользователь по умолчанию запустить Gradle.
Пытаться:
или
источник
Попробуйте установить последнюю версию
gradle
,Если мы установим из репозитория Ubuntu, он установит старую версию (для меня это был Gradle 1.4). В более старой версии он устанавливает java home из gradle as
export JAVA_HOME=/usr/lib/jvm/default-java
. Последняя версия не имеет этой проблемы.источник
Ты
export
твойJAVA_HOME
? Без экспорта настройка не будет распространяться на команды, запускаемые внутри этой оболочки. Такжеjava -version
не используетJAVA_HOME
, скорее использует первыйjava
найденный на вашем пути. Убедитесь, что ваша.bashrc
внешность выглядит примерно так:источник
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
(немного другой синтаксис, но я предполагаю, что это то же самое)gradle
команда сама устанавливать эту переменную? Возможно, тот, кто установил,gradle
создал скрипт-обертку, который устанавливает переменные среды перед запуском приложения. При использовании tomcat весьма частоcatalina.sh
(что является сценарием запуска) вызыватьsetenv.sh
переменную для установки переменных среды, которые могут включать в себяJAVA_HOME
Я столкнулся с этой проблемой, когда запускаю следующую команду в Ubuntu:
Чтобы решить эту проблему, я сделал следующие шаги:
Добавьте JAVA_HOME в / etc / environment:
Добавить:
После сохранения прочитайте это:
Наконец, вы можете запустить команду сборки.
источник
У меня была та же проблема, но я не нашел команду экспорта в строке 70 в файле Gradle для последней версии 2.13, но я понимаю глупую ошибку, которая заключается в следующем,
Если вы не нашли строку 70 с командой export в файле gradle в папке gradle / bin /, то проверьте ~ / .bashrc, если найдете
export JAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64/bin/java
, удалите/bin/java
из этой строки, напримерJAVA_HOME==/usr/lib/jvm/java-7-openjdk-amd64
, и вместо этого в пути >>> этогоexport PATH=$PATH:$HOME/bin:JAVA_HOME/
будетexport PATH=$PATH:$HOME/bin:JAVA_HOME/bin/java
. Тогда бегиsource ~/.bashrc
.Причина в том, что если вы проверите свой файл Gradle, вы найдете в строке 70 (если нет команды экспорта) или в строке 75,
Это случилось в моем случае.
источник
В моем Ubuntu у меня 2 дня болит голова по этому вопросу.
Шаг 1. Напечатайте на терминале,
whereis java
тогда это покажет что-то вроде этогоШаг 2. Запишите путь:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java
исключить
bin/java
ваш JAVA_HOME =
/usr/lib/jvm/java-8-openjdk-amd64
источник
Для меня явным набором в разделе аргументов конфигурации внешних инструментов в Eclipse была проблема.
источник
Вы также можете перейти в папку bin внутри вашей папки установки Gradle и исправить параметр JAVA_HOME в файле gradle.bat. В моем случае мой JAVA_HOME был установлен в c: \ Program files \ java \ bin. JAVA_HOME в gradle.bat был установлен в% JAVA_HOME% \ bin \ java.exe.
Я исправил JAVA_HOME в gradle.bat, и это сработало.
Спасибо!!!
источник
Создайте символическую ссылку на каталог default-java.
Вы можете найти свой каталог Java по
источник
Перед запуском команды попробуйте ввести:
Где
path_to_java_home
находится папка, где вашаbin/java
.Если Java установлен правильно, вы можете найти его местоположение, используя команду:
Не забудьте убрать
bin/java
с конца пути, помещая его вJAVA_HOME
источник
У меня тоже была проблема с этим. Это сказало неправильный каталог, когда это было правильно. Поэтому я только что создал локальную переменную с именем JAVA_HOME, в которой отсутствует последняя / bin / java. Это работало нормально для меня.
источник
Если среда GRADLE_HOME и JAVA_HOME настроена правильно, проверьте каталог JDK и убедитесь, что у вас есть файл java.exe по указанному ниже пути.
Как ошибка упоминается в файле gradle.bat
Он не может найти вашу установку Java. Так что найдите и установите
под
%JAVA_HOME%/bin
если все правильно.Это работает для меня (моя учетная запись была отключена клиентом, и его администратор удалил java.exe из моей директории.)
источник
В моем dockercontainer (будучи минимальным проблема с поиском java) было то, что «которое» не было установлено. Компиляция проекта с использованием gradlew использовала которую в ./gradlew, чтобы найти Java-установку, которая решила проблему.
источник
[Windows] Как уже говорилось, похоже .bat -file пытается найти java.exe,
%JAVA_HOME%/bin/java.exe
поэтому не находит его, такbin
как повторяется дважды в пути./bin
Извлеките лишнее из gradle.bat.источник
Добавление строк ниже в build.gradle решило мою проблему.
источник