Gradle находит неправильный JAVA_HOME, даже если он правильно установлен Ubuntu 13.10
Я только что установил Gradle из терминала
sudo apt-get install gradle
После финиша пытаюсь запустить команду
gradle -v
Я получаю следующую ошибку
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-7-oracle/jre/bin/java
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Когда я бегу echo $JAVA_HOME
я получил
/usr/lib/jvm/java-7-oracle/jre/bin/java
Так что это правильный путь, я отредактировал мой файл bashrc и добавил следующие строки
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre/bin/java
export JAVA_HOME
Я все еще получаю ту же ошибку при запуске gradle -v
3 ответа
На этот вопрос также был дан ответ о переполнении стека. Оказывается, что есть export
в /usr/bin/gradle
это, вероятно, не должно быть там.
Одним из решений является закомментировать export
линия. Другое решение заключается в использовании PPA, который имеет другой / более новый Gradle.
Вы неправильно установили свой JAVA_HOME
переменная. Это должно указывать не на jre, а на jdk.
Установите свой JAVA_HOME
переменная к /usr/lib/jvm/java-7-oracle
,
Это проблема с gradle, который добавляет /bin/java JAVACMD="$JAVA_HOME/bin/java"
на ваш путь JAVA_HOME в его сценариях. так что иди в свой gradle-3.3/bin
расположение ваших скриптов gradle и отредактируйте файл gradle с помощью gedit.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
else
JAVACMD="$JAVA_HOME/bin/java"
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
это фрагмент кода, который добавляет путь Java, следовательно, приводит к неверному пути, так как вы уже включили /bin/java в свой JAVA_HOME. поэтому либо измените его здесь, либо удалите /bin/java из переменной пути JAVA_HOME из / etc / environment. Я удалил /bin/java из пути JAVA_HOME, и он работал нормально для меня.