Gradle无法识别我设置的JAVA_HOME

Nic*_*oul 10 bash jvm environment-variables gradle ubuntu-14.04

我已将my设置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.
Run Code Online (Sandbox Code Playgroud)

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

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

小智 25

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

/home/user/gradle-2.0/bin
Run Code Online (Sandbox Code Playgroud)

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

set JAVA_HOME=%JAVA_HOME:"=%
Run Code Online (Sandbox Code Playgroud)

或者我可以看到你在linux上,所以会有"export"并将其更改为你的java主目录,例如:

export JAVA_HOME=/usr/lib/jvm/java-7-oracle
Run Code Online (Sandbox Code Playgroud)

  • 确实!`/ usr/share/gradle/bin/gradle`的第70行是`export JAVA_HOME =/usr/lib/jvm/default-java`.删除该行可以解决问题. (6认同)