我尝试从 Android 项目目录运行 ./gradlew
,但出现以下错误:
ERROR: JAVA_HOME is set to an invalid directory: /Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
Please set the JAVA_HOME variable in your environment to match the location of your Java installation.
我尝试过的事情:
导航到
/Library/Java/JavaVirtualMachines
。jdk1.8.0_11.jdk
存在,jdk1.7.0_79.jdk
也存在
which java
打印出/usr/bin/java
printenv
打印
...
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home JDK_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
...
javac -version
打印javac 1.8.0_11
which javac
打印/usr/bin/javac
最佳答案
检查/usr/libexec/java_home 是否存在。如果是,则尝试运行
export JAVA_HOME=`/usr/libexec/java_home`
并重新运行您的 gradlew 构建。如果有效,则将其永久化
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
关于在 OSX 上运行 ./gradlew 时 JAVA_HOME 设置为无效目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34326437/