2017-10-18 51 views
0

由于this issue,目前科尔多瓦无法在Java 9上运行(请纠正我,如果我错了)。Cordova没有使用Java 9.如何为Cordova设置特定的jdk?

类似的问题进行了讨论here,但所提出的解决方案,需要拆除的Java 9,或JAVA_HOME环境变量指向到Java 8的复位,但两者有副作用,所有其他Java应用程序将运行在Java 8.

那么你如何设置科尔多瓦使用Java 8,其余的应用程序仍然在Java 9上?

回答

2

... the reset of the JAVA_HOME environment variable to point to Java 8, but [that] has the side effect that all the other Java applications will run on Java 8.

只有你这样做是错误的!

创建一个包含此文件(说mycordova.sh),使其可执行,并把它放在你的shell的命令搜索路径。

#!/bin/sh 
export JAVA_HOME=/path/to/java8/home 
cordova "[email protected]" 

运行该命令运行cordova使用Java 8 没有干扰其他应用程序。


UPDATE - 如果变通建议是使用alternatives改变,这意味着,科尔多瓦发射/脚本,没有使用JAVA_HOME找到java命令。你也可以处理。有几个可能的原因:

  • 如果cordova是一个包装脚本,然后将其复制并编辑它使用的是您要使用的java命令(ETC)的版本。以便Java JRE 8的bin目录位于包含java链接alternatives管理目录的

  • 如果没有,那么你mycordova.sh脚本(见上文)也更新PATH变量。这将工作...提供的标准科尔多瓦发射没有硬连线/usr/bin/java


更新2 - 为mycordova.sh最终脚本是:

#!/bin/sh 
export JAVA_HOME=/path/to/java8/home 
export PATH=/path/to/java8/bin/:$PATH 
cordova "[email protected]" 
+0

我的坏,因为在链接问题中讨论了单独重置JAVA_HOME是不够的,它需要一个'sudo update-alternatives --config javac'或者在我的情况下是一个'sudo archlinux-java set java-8-openjdk'。 认为,这种解决方案输出该: '$ mycordova.sh运行android' 'ANDROID_HOME = /家庭/ MYHOME/devel的/ Android设备/ Sdk' 'JAVA_HOME =/usr/lib中/ JVM/JAVA -8-的openjdk ' '错误:JDK 1.8或更高版本的需求检查失败 – oidualc

相关问题