Cordova 构建错误“JDK 8 ('1.8.*') 的要求检查失败!检测到的版本:11.0.2”

Posted

技术标签:

【中文标题】Cordova 构建错误“JDK 8 (\'1.8.*\') 的要求检查失败!检测到的版本:11.0.2”【英文标题】:Cordova build error "Requirements check failed for JDK 8 ('1.8.*')! Detected version: 11.0.2"Cordova 构建错误“JDK 8 ('1.8.*') 的要求检查失败!检测到的版本:11.0.2” 【发布时间】:2019-10-31 05:34:37 【问题描述】:

当我尝试使用 ionic 进行编译时,我的应用程序告诉我以下错误:

检查 Java JDK 和 android SDK 版本 ANDROID_SDK_ROOT=undefined(推荐设置) ANDROID_HOME=/home/jmarroni/Android/Sdk(已弃用) JDK 8('1.8.*')的要求检查失败!检测到的版本:11.0.2 检查您的 ANDROID_SDK_ROOT / JAVA_HOME / PATH 环境变量。 [ERROR] 运行子进程cordova时出错。

尝试安装以前版本的 java 1.8 但无法识别更改。

【问题讨论】:

那你没有正确安装Java 8。确保完全卸载并删除任何剩余的 Java 文件夹,然后重新启动计算机。然后,使用 Java 网站提供的安装程序安装 Java 8。 是否必须有 java 8 才能使用cordova。我也面临同样的问题 【参考方案1】:

我也遇到过同样的问题。就我而言,安装了两个不同的 JDK

/usr/lib/jvm$ default-java java-1.11.0-openjdk-amd64 java-11-openjdk-amd64 java-1.8.0-openjdk-amd64 java-8-openjdk-amd64 openjdk-11

    sudo update-alternatives --config java sudo update-alternatives --config javac

【讨论】:

谢谢。 javac部分很重要【参考方案2】:

我会将所有信息放在一个地方:

Java JDK 版本 8。没能快速找到openjdk-8版本,所以决定安装Oracle版本 设置JAVA_HOME 不需要
    继续

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

    下载:
jdk-8u251-linux-x64.tar.gz or newest 

    用oracle账号登录

    解压到/opt

sudo cp ~/Desktop/jdk-8u251-linux-x64.tar.gz /opt
cd /opt
sudo tar xfz jdk-8u251-linux-x64.tar.gz
sudo ln -s jdk1.8.0_251 java
    使java二进制指向所需的SDK

5.1。安装替代品

sudo update-alternatives --install /usr/bin/java java /opt/java/bin/java 2

5.2。激活它

sudo update-alternatives --config java

5.3。选择步骤 4.1 中添加的条目。

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                         Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-14-openjdk-amd64/bin/java   1411      auto mode
  1            /opt/java/bin/java                            2         manual mode
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java   1111      manual mode
  3            /usr/lib/jvm/java-14-openjdk-amd64/bin/java   1411      manual mode

在这种情况下,键入 1 并按 Enter

5.4。测试

类型:

java -version

预期的输出类似于:

java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
    使javac二进制指向所需的SDK

6.1。安装替代品

sudo update-alternatives --install /usr/bin/javac javac /opt/java/bin/javac 2

6.2。激活它

sudo update-alternatives --config javac

6.3。选择步骤 6.1 中添加的条目。

There are 2 choices for the alternative javac (providing /usr/bin/javac).

  Selection    Path                                          Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-14-openjdk-amd64/bin/javac   1411      auto mode
* 1            /opt/java/bin/javac                            2         manual mode
  2            /usr/lib/jvm/java-14-openjdk-amd64/bin/javac   1411      manual mode

在这种情况下,输入1 并按Enter

6.4。测试

类型:

javac -version

预期的输出类似于:

javac 1.8.0_251

如果输出类似于“java -version”的输出,请确保您在第 6.1 节中编写了正确的命令,其中缺少原始帖子的“c”。

【讨论】:

【参考方案3】:

为我工作。 注意! 6.1:原帖有错字(缺少“c”)。 命令应该是:“sudo update-alternatives --install /usr/bin/javac javac /opt/java/bin/javac 2”

【讨论】:

以上是关于Cordova 构建错误“JDK 8 ('1.8.*') 的要求检查失败!检测到的版本:11.0.2”的主要内容,如果未能解决你的问题,请参考以下文章

Cordova iOS 构建 Libtool 失败错误

Cordova 构建 Android 错误

Cordova:适用于 Android 的 Facebook 插件构建错误

cordova windows 构建错误(未检测到所选目标的有效 MSBuild) - 检查所有 Cordova 要求

为啥在使用 Cordova 构建 APK 时出现此错误?

`node cordova/lib/copy-www-build-step.js`在构建阶段时出现cordova构建错误