Cordova没有使用Java 9.如何为Cordova设置特定的jdk?
由于this issue,目前科尔多瓦无法在Java 9上运行(请纠正我,如果我错了)。Cordova没有使用Java 9.如何为Cordova设置特定的jdk?
类似的问题进行了讨论here,但所提出的解决方案,需要拆除的Java 9,或JAVA_HOME环境变量指向到Java 8的复位,但两者有副作用,所有其他Java应用程序将运行在Java 8.
那么你如何设置科尔多瓦使用Java 8,其余的应用程序仍然在Java 9上?
... 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]"
我的坏,因为在链接问题中讨论了单独重置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