Sur Ubuntu, il est possible d’avoir plusieurs JVM en même temps. Celui par défaut est sélectionné avec update-alternatives
. Mais cela ne définit pas la JAVA_HOME
variable d'environnement, en raison d'une politique debian .
Je suis en train d'écrire un script de lancement (bash), qui démarre une application java. Cette application java a besoin de la JAVA_HOME
variable d'environnement. Alors, comment obtenir le chemin de la machine virtuelle actuellement sélectionnée par JVM update-alternatives
?
echo $(readlink -f /usr/bin/java | sed "s:bin/java::")
, la sortie était/usr/lib/jvm/java-7-oracle/jre/
et non/usr/lib/jvm/java-7-oracle/
La solution de danadam peut facilement être adoptée pour extraire le chemin JDK (c'est-à-dire pas JRE) selon les besoins:
la source
export JAVA_HOME=$(dirname $(dirname $(readlink -f /usr/bin/java)))
En
.bashrc
était pratique pour moi.la source
Donc, vous dites que cette commande ne fait rien pour vous?
la source
J'ai installé java avec
et ensuite pour trouver l'emplacement
la source
Dans le prolongement des danadams, répondez:
Tout d’abord, installez le deuxième Java JRE en tant que troisième option java, avec la priorité "3":
Ensuite, vous pouvez les lister:
Vous pouvez définir l’alternative manuellement en utilisant ceci:
Ensuite, votre script peut le définir à la volée, comme suit:
Cela illustre mieux ce que fait la commande 'sed'. Bien que vous ayez toujours besoin de définir les liens pour javaw et javac, etc., également, chacun séparément.
la source
Il y a quelque temps, j'ai créé un tutoriel sur le forum Ubuntu sur la procédure d'installation du dernier JRE / JDK à partir du site Web Java. Il explique également comment l'activer à l'échelle du système, en ajoutant l'emplacement JRE / JDK à la variable PATH. Si vous le souhaitez, vous pouvez également ajouter JAVA_HOME au script, mentionné à la fin du sujet.
Découvrez-le: http://ubuntuforums.org/showthread.php?t=1437100
la source
Si Java est configuré avec
update-alternatives
ou a été ajouté manuellement à votre variable PATH, aucun codage en dur"/usr/bin/java"
n'est nécessaire. J'utilise cette solution dans mon .bashrc:export JAVA_HOME=$(readlink -m $(which java)/../..)
la source