无法 运行 "javac -version" 确保您安装了 JDK 版本 8
Failed to run "javac -version" make sure that you have a JDK version 8 installed
我是 ionic 的新手,我已经尝试了互联网上有关此问题的所有可用方法,但我还没有找到任何 suitable/matching 解决方案。
我的问题详情:
我正在使用 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.
我已经在我的电脑上安装了 java、cordova 和 android studio(ubuntu 16.04) 下面是一些细节:
命令: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 的安装位置才能执行此操作。可以通过运行ning:
来判断
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"
保存文件,关闭编辑器并通过 运行ning
应用更改
source /etc/environment
你可以确定这是运行ning
设置的
echo $JAVA_HOME
最后,这似乎只发生在我身上,我必须重新启动我的机器以确保更改得到全局应用
我是 ionic 的新手,我已经尝试了互联网上有关此问题的所有可用方法,但我还没有找到任何 suitable/matching 解决方案。
我的问题详情:
我正在使用 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.
我已经在我的电脑上安装了 java、cordova 和 android studio(ubuntu 16.04) 下面是一些细节:
命令: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 的安装位置才能执行此操作。可以通过运行ning:
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"
保存文件,关闭编辑器并通过 运行ning
应用更改source /etc/environment
你可以确定这是运行ning
设置的echo $JAVA_HOME
最后,这似乎只发生在我身上,我必须重新启动我的机器以确保更改得到全局应用