... 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.
Seulement si vous le faites dans le mauvais sens!
Créez un fichier (disons mycordova.sh
) contenant ceci, rendez-le exécutable et placez-le sur le chemin de recherche de commande de votre shell.
#!/bin/sh
export JAVA_HOME=/path/to/java8/home
cordova "[email protected]"
L'exécution de cette commande exécute cordova
en utilisant Java 8 sans interférer avec d'autres applications.
MISE À JOUR - Si le travail autour proposé est d'utiliser alternatives
changer, cela signifie que le lanceur cordova/script, n'utilise pas JAVA_HOME
pour trouver la commande java
. Vous pouvez gérer cela aussi. Il y a deux possibilités:
Si cordova
est un script d'emballage, puis copiez et le modifier pour utiliser la version de la commande java
(etc) que vous souhaitez utiliser.
Si pas alors dans votre script mycordova.sh
(voir ci-dessus) mettent également à jour la variable PATH
de telle sorte que le répertoire Java 8 JRE bin
est en avance sur le répertoire contenant le lien java
que alternatives
gère. Cela fonctionnera ... à condition que le lanceur standard cordova n'a pas câblé /usr/bin/java
MISE À JOUR 2 - script final pour mycordova.sh est:
#!/bin/sh
export JAVA_HOME=/path/to/java8/home
export PATH=/path/to/java8/bin/:$PATH
cordova "[email protected]"
Mon mauvais, comme discuté dans la question liée, la réinitialisation du JAVA_HOME ne suffit pas, il faut un 'sudo update-alternatives --config javac' ou dans mon cas un' sudo archlinux-java set java-8-openjdk'. a estimé que, cette sortie de la solution suivante: 'mycordova.sh $ run android' ' ANDROID_HOME =/home/myhome/devel/Android/Sdk' 'JAVA_HOME =/usr/lib/jvm/java-8-OpenJDK ' ' Erreur: Échec de la vérification des exigences pour JDK 1.8 ou supérieur' – oidualc