首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用cordova构建时无效的JAVA_HOME

使用cordova构建时无效的JAVA_HOME
EN

Stack Overflow用户
提问于 2015-11-26 21:03:49
回答 5查看 14.2K关注 0票数 12

我正试图在OpenSuse Leap 42.1中用cordova在我的设备上模拟一个应用程序。

但是当我试图用cordova run来模仿这个应用程序时,我得到了下面的错误:

代码语言:javascript
运行
复制
cordova run
Running command: /home/soufraz/Projects/apps/myproject/platforms/android/cordova/run 
ERROR: Error: Failed to run "java -version", make sure that you have a JDK installed.
You can get it from: http://www.oracle.com/technetwork/java/javase/downloads.
Your JAVA_HOME is invalid: /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0

ERROR running one or more of the platforms: Error: /home/soufraz/Projects/apps/myproject/platforms/android/cordova/run: Command failed with exit code 2
You may not have the required environment or OS to run this project

我在~/.profile中安装了java并设置了路径。

哪个是我的环境中的配置错误?

在我的.profile下面:

代码语言:javascript
运行
复制
JAVA_HOME=/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0
export JAVA_HOME

ANDROID_HOME=/home/soufraz/Install/android-sdk-linux
export ANDROID_HOME

PATH=$PATH:$ANDROID_HOME:$JAVA_HOME

关于java版本的信息:

代码语言:javascript
运行
复制
java -version
openjdk version "1.8.0_60"
OpenJDK Runtime Environment (build 1.8.0_60-b27)
OpenJDK 64-Bit Server VM (build 25.60-b23, mixed mode)

在这里,jvm文件夹列表:

代码语言:javascript
运行
复制
ls -l
total 28
lrwxrwxrwx 1 root root 24 Nov 12 11:28 java-1.7.0-openjdk -> java-1.7.0-openjdk-1.7.0
drwxr-xr-x 1 root root  6 Nov 12 11:28 java-1.7.0-openjdk-1.7.0
drwxr-xr-x 1 root root  6 Nov 11 17:26 java-1.8.0-openjdk-1.8.0
lrwxrwxrwx 1 root root 21 Nov 11 17:26 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root 27 Nov 12 11:28 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx 1 root root 28 Nov 12 11:28 jre-1.7.0-openjdk -> java-1.7.0-openjdk-1.7.0/jre
lrwxrwxrwx 1 root root 27 Nov 11 17:26 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx 1 root root 28 Nov 11 17:26 jre-1.8.0-openjdk -> java-1.8.0-openjdk-1.8.0/jre
lrwxrwxrwx 1 root root 29 Nov 11 17:26 jre-openjdk -> /etc/alternatives/jre_openjdk

编辑具有三个级别的视图树:

代码语言:javascript
运行
复制
tree -L 3
.
├── java-1.7.0-openjdk -> java-1.7.0-openjdk-1.7.0
├── java-1.7.0-openjdk-1.7.0
│   └── jre
│       ├── bin
│       └── lib
├── java-1.8.0-openjdk-1.8.0
│   └── jre
│       ├── bin
│       └── lib
├── jre -> /etc/alternatives/jre
├── jre-1.7.0 -> /etc/alternatives/jre_1.7.0
├── jre-1.7.0-openjdk -> java-1.7.0-openjdk-1.7.0/jre
├── jre-1.8.0 -> /etc/alternatives/jre_1.8.0
├── jre-1.8.0-openjdk -> java-1.8.0-openjdk-1.8.0/jre
└── jre-openjdk -> /etc/alternatives/jre_openjdk
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-11-29 12:20:00

在我的具体情况下,我删除并重新安装所有java包,并添加一个(用于“本能”):

我删除了:

java-1_8_0-openjdk

java-1_8_0-openjdk-headless

java-1_8_0-openjdk-plugin

并补充说:

java-1_8_0-openjdk

java-1_8_0-openjdk-headless

java-1_8_0-openjdk-plugin

java-1_8_0-openjdk-devel <<-- 幸运地击中了它

将出现主文件夹中的回收站。用javac和其他东西。

谢谢你们!

票数 7
EN

Stack Overflow用户

发布于 2015-11-29 09:45:40

Cordova需要一个JDK而不是JRE,因为它正在检查javac。参见reqs.js line 86。从您的评论中可以看出,“在此路径中,在JDK中没有bin文件夹”,您应该有一个bin目录!

票数 10
EN

Stack Overflow用户

发布于 2015-11-29 10:02:57

你的道路应该是这样

PATH=$PATH:$ANDROID_HOME/bin:$JAVA_HOME/bin

而不是export PATH

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33946953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档