由于这个问题,目前Cordova无法在Java 9上运行(如果我错了,请纠正我)。
这里讨论了一个类似的问题,但是建议的解决方案涉及删除Java 9或将JAVA_HOME环境变量重置为指向Java 8,但是两者都有副作用,即所有其他Java应用程序都将在Java 8上运行。
那么,如何将Cordova设置为使用Java 8,而其余的应用程序仍在Java 9上呢?
…将JAVA_HOME环境变量重置为指向Java 8,但是[副作用]是所有其他Java应用程序都将在Java 8上运行。
JAVA_HOME
只有以错误的方式做!
创建一个mycordova.sh包含该文件的文件(例如),使其可执行,并将其放在您的Shell的命令搜索路径中。
mycordova.sh
#!/bin/sh export JAVA_HOME=/path/to/java8/home cordova "$@"
运行该命令可cordova使用Java 8 运行, 而不会 干扰其他应用程序。
cordova
更新 -如果建议的解决方法alternatives用于更改,则表示Cordova启动器/脚本未JAVA_HOME用于查找java命令。您也可以处理。有两种可能:
alternatives
java
如果cordova是包装脚本,则将其复制并编辑以使用java您要使用的命令版本(etc)。
如果不是,则在mycordova.sh脚本中(请参见上文)也更新PATH变量,以使Java 8 JRE的bin目录位于包含管理java链接的目录的前面alternatives。只要标准的科尔多瓦发射器没有硬接线就可以了/usr/bin/java
PATH
bin
/usr/bin/java
更新 2-mycordova.sh的最终脚本是:
#!/bin/sh export JAVA_HOME=/path/to/java8/home export PATH=/path/to/java8/bin/:$PATH cordova "$@"