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:适用于 Android 的 Facebook 插件构建错误
cordova windows 构建错误(未检测到所选目标的有效 MSBuild) - 检查所有 Cordova 要求
`node cordova/lib/copy-www-build-step.js`在构建阶段时出现cordova构建错误