【问题标题】:Cordova picking up wrong version of javaCordova 选择了错误的 java 版本
【发布时间】:2021-01-28 08:32:26
【问题描述】:

我正在尝试运行

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版本?

【问题讨论】:

    标签: java android android-studio cordova


    【解决方案1】:

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

    所以真正显示cordova在查找Java时获得的版本的命令是:

    javac -version
    

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

    为了解决这个问题,我使用了update-alternatives 命令并将javac 设置回我的1.8.0 版本,如下所示:

    sudo update-alternatives --config javac
    

    【讨论】:

      猜你喜欢
      • 2021-09-18
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 2021-08-17
      • 1970-01-01
      • 2021-05-22
      • 2018-09-30
      • 2015-02-09
      相关资源
      最近更新 更多