即使设置正确,Gradle也会发现错误的JAVA_HOME
尝试运行gradle时,出现以下错误:
# gradleERROR: 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.
但是,当我检查JAVA_HOME变量时,我得到:
# echo $JAVA_HOME /usr/lib/jvm/java-7-oracle
我的JAVA_HOME是在.bashrc中定义的,我已经仔细检查过它是否已设置为源。
运行java -version
还确认JAVA_HOME设置正确并且在PATH上。
# java -versionjava version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
我还检查了/usr/bin/java
符号连接/etc/alternatives/java
这反过来又正确的符号链接/usr/lib/jvm/java-7-oracle/jre/bin/java
另外,我检查了.bash_profile
或中没有重复的JAVA_HOME定义/etc/profile
。
所以我的问题是Gradle如何/为什么找到/usr/lib/jvm/default-java
,更重要的是如何将其指向正确的目录?
其他需要JDK的程序也可以正常工作,因此我认为这是Gradle问题。我也尝试过重新安装Gradle,这没有什么区别。
我正在运行64位Xubuntu(Ubuntu 13.10基本版本)
回答:
事实证明,我从Ubuntu 13.10存储库 _本身_下载的特定Gradle二进制文件试图导出JAVA_HOME。
/usr/bin/gradle
第70行:
export JAVA_HOME=/usr/lib/jvm/default-java
注释掉该行即可解决问题,Gradle会找到指向Java二进制文件的正确路径。
如果仅从他们的网站下载二进制文件,则不会出现此问题,这是Ubuntu
repo版本的问题。13.10版本似乎还存在其他一些问题。
以上是 即使设置正确,Gradle也会发现错误的JAVA_HOME 的全部内容, 来源链接: utcz.com/qa/429450.html