繁体   English   中英

Cordova 选择错误版本的 java

[英]Cordova picking up wrong version of java

我正在尝试运行

cordova build android

它给出了以下错误

Checking Java JDK and Android SDK versions
ANDROID_SDK_ROOT=/home/bappaditya/Softwares/android-studio (recommended setting)
ANDROID_HOME=/home/bappaditya/Softwares/android-studio (DEPRECATED)
Requirements check failed for JDK 8 ('1.8.*')! Detected version: 12.0.2
Check your ANDROID_SDK_ROOT / JAVA_HOME / PATH environment variables.

我可以看到它已经选择了ANDROID_HOMEANDROID_SDK_ROOT但不是 java 的正确版本

我现在的环境

>java -version
openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)

>echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64

>echo $PATH
/home/bappaditya/.cargo/bin:/opt/gradle/gradle-5.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/bappaditya/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin

如您所见,JAVA 8 已安装并设置为默认值。 为什么 cordova 抱怨 java 版本?

似乎 cordova 使用javac来识别版本,而不是java

因此,在查找 Java 时,真正显示 cordova 版本的命令是:

javac -version

就我而言,即使我的版本与您的环境中的版本相同,但事实证明我的javac指向的是新更新的 Java(来自 Ubuntu 更新)

为了修复它,我使用了update-alternatives命令并将javac设置回我的 1.8.0 版本,如下所示:

sudo update-alternatives --config javac

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM