当我在项目中运行cordova run android
时,我有这个输出
ANDROID_HOME=/home/ronaizacard/Android/Sdk/
JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre/bin/java
ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-7-oracle/jre/bin/java
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
Error: /home/ronaizacard/work/apk/platforms/android/gradlew: Command failed with exit code
但是,当我检查JAVA_HOME变量时,我得到:
# echo $JAVA_HOME
/usr/lib/jvm/java-7-oracle/jre/bin/java
我的JAVA_HOME是在.zshrc中定义的,我已经仔细检查过它是否被设置为源。
JAVA_HOME=/usr/lib/jvm/java-7-oracle/jre/bin/java
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH
运行java -version也确认JAVA_HOME设置正确且位于PATH上。
➜ ~ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
所以我的问题是Gradle如何/为什么找到/ usr / lib / jvm / default-java,更重要的是我如何将它指向正确的目录?
我也试过找到Gradle文件并更改bin上的/usr/lib/jvm/default-java
但是cordova没有这个
我正在运行64位Ubuntu LTS 16
答案 0 :(得分:1)
我改变JAVA_HOME=/usr/lib/jvm/java-7-oracle
并且工作正常