我最近将我的java版本升级到9.但是现在当我尝试为Android构建时,我得到了
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
(node:87041) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): CordovaError: Requirements check failed for JDK 1.8 or greater
所以我重新安装了jdk 1.8并进入.bash_profile并将JAVA_HOME更改为
/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
使用
时返回的是什么>> source .bash_profile
>> echo $JAVA_HOME
然而Cordova仍然给出了上述错误。我错过了什么吗?
编辑:/ usr / libexec / java_home -V的输出是
Matching Java Virtual Machines (3):
9.0.4, x86_64: "Java SE 9.0.4" /Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
1.8.0_171, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
1.8.0_144, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home
答案 0 :(得分:1)
您的$PATH
可能缺少JDK。更新您的PATH
以反映jdk的位置(通常为9.0.4):
export JAVA_HOME=$(/usr/libexec/java_home -v 9.0.4) # substitute version here
export PATH=$JAVA_HOME/bin:$PATH
如果JAVA_HOME
的导出不起作用,您可以使用您拥有的导出,因为它看起来是正确的:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
将其添加到您的~/.bash_profile
,您应该重新开始营业。