Gradle 发现错误的 JAVA_HOME,即使它已正确设置 ubuntu 13.10

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

答案1

这种问题也Stack Overflow 上已回答。结果发现有一个可能不应该存在的exportin 。/usr/bin/gradle

一种解决方案是注释掉该export行。另一种解决方案是使用具有不同/较新的 Gradle 的 PPA

答案2

您错误地设置了JAVA_HOME变量。它不应该指向 jre,而应该指向 jdk。

JAVA_HOME将您的变量设置为/usr/lib/jvm/java-7-oracle

答案3

这是gradle追加/bin/javaJAVACMD="$JAVA_HOME/bin/java"到你的JAVA_HOME其脚本中的路径。因此,转到您gradle-3.3/bin的 gradle 脚本的位置并使用 gedit 编辑 gradle 文件。

    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/环境。我已删除/bin/java来自JAVA_HOME路径,它对我来说工作得很好。

相关内容