web-dev-qa-db-fra.com

"Java -version" montrant une sortie différente. Comment trouver le dossier installé et configurer Java_HOME et JDK_HOME?

J'ai téléchargé et installé le kit JDK + Netbeans à partir du site Web Oracle, mais lorsque je tape Java -version sur le terminal, j'obtiens le résultat suivant:

$ Java -version
The program 'Java' can be found in the following packages:
 * default-jre
 * gcj-4.8-jre-headless
 * openjdk-7-jre-headless
 * gcj-4.6-jre-headless
 * openjdk-6-jre-headless
Try: Sudo apt-get install <selected package>  

Premièrement qu'est-ce que cela signifie? Plusieurs versions de Java sont-elles installées sur mon système?
Deuxièmement, il existe un dossier JDK créé après l’installation de Netbeans + JDK. Voici le contenu du dossier:

$ pwd
/usr/local/jdk1.8.0_65
$ ls
bin        javafx-src.Zip  man          THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT  jre             README.html  THIRDPARTYLICENSEREADME.txt
db         lib             release
include    LICENSE         src.Zip

Troisièmement, Android Studio n'est pas en mesure de trouver JDK_HOME alors que j'ai donné export JDK_HOME=/usr/local/jdk1.8.0_65 dans bashrc. Que pourrait-on faire?

J'envisage de supprimer le dossier jdk1.8.0_65 et d'utiliser Sudo apt-get install default-jre et Sudo apt-get install default-jdk, mais je suis inquiet si la suppression du dossier jdk gâcherait quelque chose ou si les commandes apt-get seraient téléchargées. la dernière version de Java.

PDATE:
J'ai essayé d'ajouter le dossier bin à PATH, mais bien que la version Java soit affichée correctement, le studio Android n'en est pas capable. trouvez le JDK.

$ echo $PATH
/usr/local/jdk1.8.0_65/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
$ Java -version
Java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
$ Android
[Sudo] password for nav: 
ERROR: Cannot start Android Studio
No JDK found. Please validate either STUDIO_JDK, JDK_HOME or Java_HOME environment variable points to valid JDK installation.
$ echo $Java_HOME
/usr/local/jdk1.8.0_65/bin
$ echo $JDK_HOME
/usr/local/jdk1.8.0_65
$  
1
Nav

Ce qui vous manque, c'est d'ajouter le dossier jdk1.8.0_65/bin à votre variable d'environnement PATH.

Premièrement, qu'est-ce que cela signifie? Plusieurs versions de Java sont-elles installées sur mon système?

Non, mais celui que vous avez installé dans /usr/local/jdk1.8.0_65 ne se trouve pas dans les programmes tels que netbeans ou Android dépendant de Java. Pour le vérifier vous-même, ouvrez simplement votre terminal et ajoutez le dossier contenant le fichier exécutable Java à votre variable de chemin comme ceci:

export PATH="/usr/local/jdk1.8.0_65/bin:$PATH"

Pour vérifier si cela a réussi, accédez à n’importe quel répertoire et lancez cette commande:

Java -version

Une fois que c'est réussi, allez dans le dossier netbeans et exécutez-le:

./netbeans

Si tous les autres paramètres sont bons, il devrait fonctionner et Android aussi! Pour rendre les modifications permanentes, ajoutez le modificateur de chemin d'accès à votre fichier ~/.profile (sinon, vous devrez émettre la commande export à chaque fois que vous ouvrez le terminal pour utiliser Java).

1
Prahlad Yeri

Premièrement, qu'est-ce que cela signifie? Plusieurs versions de Java sont-elles installées sur mon système?

Non, ce sont des options de paquet à installer pour obtenir Java. Vous avez actuellement choisi d'installer en dehors du système de packages.

Il est plus simple d'utiliser les versions de Java prises en charge par le package, si vous le pouvez. De cette façon, vous pouvez simplement mettre à jour vos paquets, sans avoir à installer un autre JDK et à changer tous vos pointeurs vers la nouvelle version.

Troisièmement, Android Studio ne parvient pas à trouver JDK_HOME, bien que j'aie exporté JDK_HOME =/usr/local/jdk1.8.0_65 dans bashrc. Que pourrait-on faire?

À ce stade, vous avez besoin de Java 7 pour développer avec Android Studio. http://developer.Android.com/sdk/installing/index.html?pkg=studiohttps://stackoverflow.com/questions/23318109/is-it-possible- utiliser-Java-8-pour-Android-development

0
mattm