繁体   English   中英

无法运行“javac -version”确保您安装了 JDK 版本 8

[英]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.

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