Bash Gradle不认识我设置的JAVA_HOME

Bash Gradle不认识我设置的JAVA_HOME,bash,gradle,jvm,environment-variables,ubuntu-14.04,Bash,Gradle,Jvm,Environment Variables,Ubuntu 14.04,我已将我的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

我已将我的
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\u HOME


注意:我的
JAVA\u HOME
是由
~/.bashrc
使用
export JAVA\u HOME=“/usr/lib/jvm/JAVA-7-oracle”
设置的,这是一个非常常见的问题。只需转到gradle主目录和
bin
,例如:

/home/user/gradle-2.0/bin
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
你应该有gradle脚本,我现在在Windows机器上,所以我有
gradle.bat
,可能你会有
gradle.sh
或者类似的东西。在该文件中,找到以下行:

set JAVA_HOME=%JAVA_HOME:"=%
或者,正如我看到的,您在linux上,因此将出现“导出”并将其更改为java主目录,例如:

/home/user/gradle-2.0/bin
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

如果在windows上,也要更改JAVA_EXE并添加路径

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

的确
/usr/share/gradle/bin/gradle
的第70行是
导出JAVA\u HOME=/usr/lib/jvm/default JAVA
。删除该行可以修复问题。在较新版本中也会发生这种情况。这里提到的第70行在gradle脚本中被删除。这就是我修复它的方法,运行
哪个java
并获取它的结果。从中删除
/bin/java
,并使用它设置
java\u主页
。然后调用
gradlew
命令。