[英]Phonegap Build Error: Failed to run "javac -version", make sure that you have a JDK installed
[英]Failed to run “javac -version” make sure that you have a JDK version 8 installed
我是 ionic 新手,我已经尝试了互联网上有关此问题的所有可用方法,但我还没有找到任何合适/匹配的解决方案。
我的问题的详细信息:
我正在使用 ionic 5,当我运行ionic cordova run android
然后过了一会儿我收到以下错误:
Failed to run "javac -version", make sure that you have a JDK version 8 installed.
You can get it from the following location:
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Your JAVA_HOME is invalid: /usr/lib/jvm/java-8-openjdk-amd64
[ERROR] An error occurred while running subprocess cordova.
cordova build android --device exited with exit code 1.
Re-running this command with the --verbose flag may provide more information.
我已经在我的电脑(ubuntu 16.04)上安装了 java、cordova 和 android 工作室以下是一些细节:
命令: java -version
结果:
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~16.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
命令: javac -version
结果:
The program 'javac' can be found in the following packages:
* default-jdk
* ecj
* gcj-5-jdk
* openjdk-8-jdk-headless
* gcj-4.8-jdk
* gcj-4.9-jdk
* openjdk-9-jdk-headless
Try: sudo apt install <selected package>
apt-install default-jdk
,这基本上就是最后一条消息告诉你要做的事情,应该可以解决问题。
Debian/Ubuntu 为 JRE 和 JDK 提供了不同的软件包。 您只安装了 JRE。
我意识到这不仅仅需要通过安装 Java 开发套件来消除错误。 由于这是一个 Ionic 项目,如果您没有专门安装 Open JDK 8 并正确设置环境变量,您将面临其他问题——Cordova 目前仅支持 Open JDK8,并且使用较新版本可能会生成警告消息:
Requirements check failed for JDK 8 ('1.8.*')! Detected version: 11.0.9
所以在处理了这个和所有后续错误之后,我想我应该详细说明完全适合我的解决方案:
一、安装默认的Java运行环境(JRE)
sudo apt update
sudo apt install default-jre
二、安装Java开发包(JDK)版本8
sudo apt-get update
sudo apt-get install openjdk-8-jdk
要验证两者都已安装,请运行java -version
用于 JRE 和javac -version
用于 JDK
第三,设置JAVA_HOME
环境变量。 您必须确定 Java 的安装位置才能执行此操作。 您可以通过运行来确定:
sudo update-alternatives --config java
您的安装路径很可能是/usr/lib/jvm/java-8-openjdk-amd64/bin/java
。 复制/bin/java
部分之前的路径,并将其粘贴到/etc/environment
文件的末尾,将其添加到环境变量中。
sudo nano /etc/environment
文件的结尾应如下所示:
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
保存文件,关闭编辑器并通过运行应用更改
source /etc/environment
您可以确定这是通过运行设置的
echo $JAVA_HOME
最后,这似乎只发生在我身上,我必须重新启动我的机器以确保更改在全球范围内应用
学分: 数字海洋
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.