【问题标题】:Gradle does not recognize the JAVA_HOME I have setGradle 无法识别我设置的 JAVA_HOME
【发布时间】:2015-01-09 00:35:35
【问题描述】:

我已将我的JAVA_HOME 设置为/usr/lib/jvm/java-7-oracle,其中包含有效的JVM,但gradle 坚持使用/usr/lib/jvm/default-java 并抱怨JAVA_HOME

$ echo $JAVA_HOME 
/usr/lib/jvm/java-7-oracle
$ ls $JAVA_HOME
bin  COPYRIGHT  db  include  jre  lib  LICENSE  man  README.html  release  src.zip  THIRDPARTYLICENSEREADME-JAVAFX.txt  THIRDPARTYLICENSEREADME.txt
$ gradle assemble

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.

如何解决这个问题并让 gradle 使用我的有效 JAVA_HOME

注意:我的JAVA_HOME 是由~/.bashrc 使用export JAVA_HOME="/usr/lib/jvm/java-7-oracle" 设置的

【问题讨论】:

    标签: bash gradle jvm environment-variables ubuntu-14.04


    【解决方案1】:

    这是一个很常见的问题。只需转到您的 gradle 主目录和 bin,例如:

    /home/user/gradle-2.0/bin
    

    你应该有 gradle 脚本,我现在在 Windows 机器上,所以我有 gradle.bat,可能你会有 gradle.sh 或类似的东西。在该文件中,找到以下行:

    set JAVA_HOME=%JAVA_HOME:"=%
    

    或者我可以看到您在 linux 上,因此会有“导出”并将其更改为您的 java 主目录,例如:

    export JAVA_HOME=/usr/lib/jvm/java-7-oracle
    

    【讨论】:

    • 确实! /usr/share/gradle/bin/gradle 的第 70 行是 export JAVA_HOME=/usr/lib/jvm/default-java。删除该行可以解决问题。
    • 这也发生在较新的版本中。这里提到的第 70 行在 gradle 脚本中被删除。这就是我修复它的方法,运行which java 并获取它的结果。从中删除/bin/java 并使用它来设置JAVA_HOME。然后调用gradlew 命令。
    【解决方案2】:

    如果在 Windows 上,也对 JAVA_EXE 进行更改并添加您的路径

        set JAVA_EXE=C:\yourpath\bin\java.exe
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-11
      • 2013-02-09
      • 2014-08-07
      相关资源
      最近更新 更多