Où puis-je trouver le SDK Java sous Linux après l'avoir installé?
185
J'ai installé JDK en utilisant apt-get install mais je ne sais pas où se trouve mon dossier jdk. J'ai besoin de tracer la voie pour cela. Quelqu'un a-t-il une idée de l'emplacement?
Essayez les /usr/local/java/distributions Oracle téléchargées d'origine.
Zon
Réponses:
385
Cela dépend un peu de votre système de paquets ... si la javacommande fonctionne, vous pouvez taper readlink -f $(which java)pour trouver l'emplacement de la commande java. Sur le système OpenSUSE sur /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/javalequel je suis maintenant, il revient (mais ce n'est pas un système qui utilise apt-get).
Sur Ubuntu, il semble que ce soit/usr/lib/jvm/java-6-openjdk/ pour OpenJDK, et dans un autre sous-répertoire de /usr/lib/jvm/pour Suns JDK (et d'autres implémentations également, je pense).
Pour un package donné, vous pouvez déterminer quels fichiers il installe et où il les installe en interrogeant dpkg. Par exemple pour le package 'openjdk-6-jdk':dpkg -L openjdk-6-jdk
orth regardant dans / usr / java aussi sur certaines configurations que j'ai vues
jlb83
Si vous devez ajouter le chemin JDK dans Android Studio, ajoutez ceci / usr / lib / jvm / java-8-oracle /
Rohit Rokde
3
Il semble que mon chemin soit /usr/lib/jvm/java-7-openjdk-amd64.
einverne
2
Je pense que readlink tel que donné est le plus élégant (et efficace), mais je suggère readlink -f $(which javac) - notez le «c» au cas où il y aurait un étrange mélange de JDK et JRE sur la même machine. Le JDK comprend un compilateur (javac) et un JRE n'en contient pas. Cependant, si le chemin n'est pas correct, ce qui échouera et vous pouvez essayer ceci: find /usr/java -wholename '*ava/jdk*' -prunecomme je le note dans un commentaire ci-dessous.
Steven the Easily Amused
@Winnemucca Cela fonctionne pour moi, vous pouvez trouver où se trouve java et ensuite vous pouvez trouver où chemin jdk.
einverne
45
update-java-alternatives -l
vous dira quelle implémentation java est la mise en œuvre par défaut pour votre système et où dans le système de fichiers elle est installée. Consultez le manuel pour plus d'options.
C'est spécifique à Debian (au moins). D'autres distributions peuvent ne pas avoir cela
dequis
2
@dequis, c'est une réponse spécifique à debian, depuis la question mentionnée apt-getet la distribution à être Debian 2.6.26. AFAIK, il devrait en être de même pour toutes les dérivées Debian.
forcefsck
2
Je le signale simplement à d'autres personnes. Je sais que c'est valable pour cette question particulière.
dequis
1
update-alternatives - liste | grep java a travaillé pour moi sur RHEL
vrai. Je parie que c'est après l'installation d'apt-get
The Surrican
6
Cela ne pointe pas réellement vers un JDK complet. 1. C'est un lien symbolique, et même si vous lisez le lien symbolique, le binaire n'est pas non plus dans un JDK. Par exemple, si j'exécute la commande, readlink -f $(which javac)elle s'imprime /usr/lib/jvm/java-8-oracle/bin/javac. Ce dossier bin n'est PAS un JDK. Test acido-basique général pour voir si c'est un JDK est de voir si le courant $JAVA_HOMEcontient un chemin de lib/tools.jar. Dans le casting de /usr/lib/jvm/java-8-oracle/bince n'est pas vrai, donc ce n'est pas un JDK.
Zombies
Sur Centos / RHL C'est ce que je préfère trouver le JDK (s'il est installé) find /usr/java -wholename '*ava/jdk*' -prune Mais le comportement dépend si vous parlez d'OpenJDK ou d'Oracle Java et comment il a été installé en premier lieu.
Steven the Easily Amused
12
Cette question sera déplacée mais vous pouvez faire ce qui suit
J'aime la deuxième option - simple et utile si vous avez plusieurs JRE / JDK et que vous voulez tous les trouver.
Amos M. Carpenter
"find / -name 'javac'" est moins typé, mais nécessite le privilège d'administrateur (root) ou vous obtiendrez beaucoup de messages de permission refusés.
Steven the Easily Amused
9
Utilisez find pour le localiser. Il devrait être /usrquelque part sous :
find /usr -name java
Lors de l'exécution de la commande, s'il y a trop de messages «Permission refusée» qui masquent les résultats réels trouvés, redirigez simplement stderr vers / dev / null
Si ce n'est pas root (admin), vous obtiendrez beaucoup de messages Permission Denied.
Steven the Easily Amused
7
Une autre meilleure façon de trouver le chemin du dossier Java est d'utiliser la alternativescommande dans Fedora Linux (je sais que c'est pour Ubuntu mais j'ai frappé ce post de google juste par son titre). Je veux juste partager des personnes comme moi à la recherche de réponses pour la saveur de fedora.
Pour afficher toutes les informations concernant java
Cela a fonctionné pour moi, renvoyant / usr / java / jdk- [version] sur Fedora
Sina Madani
3
Processus en trois étapes: Premièrement: ouvrez le terminal-> $ whereis java
cela donnerait une sortie comme celle-ci:
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
Deuxièmement:
ls -l /usr/bin/java
cela donnerait une sortie comme celle-ci:
lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java
Troisièmement: la
ls -l /etc/alternatives/java
sortie est le chemin JDK:
lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Cependant, si vous y allez réellement, vous verrez qu'il y a plusieurs répertoires et liens symboliques placés là par le système de paquets pour simplifier la maintenance future.
Le répertoire actuel est java-11-openjdk-amd64, avec un autre lien symbolique de default-java. Il existe également un openjdk-11répertoire, mais il semble ne contenir qu'un fichier source.zip.
Compte tenu de cela, pour Debian UNIQUEMENT, je suppose que la meilleure valeur à utiliser est /usr/lib/jvm/default-java, car cela devrait toujours être valide, même si vous décidez d'installer une version totalement différente de java, ou même de changer de fournisseur.
La raison normale de vouloir connaître le chemin est que certaines applications le souhaitent et que vous ne voulez probablement pas que cette application soit interrompue parce que vous avez effectué une mise à niveau qui a changé les numéros de version.
sur OpenSUSE 13.1 / 13.2 son: le /usr/lib64/jvm/java-1.6.0-openjdk-(version-number)
numéro de version peut être 1.7.x 1.8.x etc. vérifier la version du gestionnaire de logiciel que vous avez installée ...
Une fois installés, ils se trouvent dans: /usr/lib/jvm
Pour sélectionner l'emplacement / le répertoire d'un JDK de développement complet (qui est différent du JRE d'exécution plus simple uniquement), recherchez les entrées:
ls -ld java*openjdk*
Voici deux bons choix, qui sont des liens vers des versions spécifiques, où vous devrez sélectionner la version:
/usr/local/java/
distributions Oracle téléchargées d'origine.Réponses:
Cela dépend un peu de votre système de paquets ... si la
java
commande fonctionne, vous pouvez taperreadlink -f $(which java)
pour trouver l'emplacement de la commande java. Sur le système OpenSUSE sur/usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java
lequel je suis maintenant, il revient (mais ce n'est pas un système qui utiliseapt-get
).Sur Ubuntu, il semble que ce soit
/usr/lib/jvm/java-6-openjdk/
pour OpenJDK, et dans un autre sous-répertoire de/usr/lib/jvm/
pour Suns JDK (et d'autres implémentations également, je pense).Debian est la même chose.
Pour un package donné, vous pouvez déterminer quels fichiers il installe et où il les installe en interrogeant dpkg. Par exemple pour le package 'openjdk-6-jdk':
dpkg -L openjdk-6-jdk
la source
/usr/lib/jvm/java-7-openjdk-amd64
.readlink -f $(which javac)
- notez le «c» au cas où il y aurait un étrange mélange de JDK et JRE sur la même machine. Le JDK comprend un compilateur (javac) et un JRE n'en contient pas. Cependant, si le chemin n'est pas correct, ce qui échouera et vous pouvez essayer ceci:find /usr/java -wholename '*ava/jdk*' -prune
comme je le note dans un commentaire ci-dessous.vous dira quelle implémentation java est la mise en œuvre par défaut pour votre système et où dans le système de fichiers elle est installée. Consultez le manuel pour plus d'options.
la source
apt-get
et la distribution à êtreDebian 2.6.26
. AFAIK, il devrait en être de même pour toutes les dérivées Debian.devrait vous donner quelque chose comme
la source
readlink -f $(which javac)
elle s'imprime/usr/lib/jvm/java-8-oracle/bin/javac
. Ce dossier bin n'est PAS un JDK. Test acido-basique général pour voir si c'est un JDK est de voir si le courant$JAVA_HOME
contient un chemin delib/tools.jar
. Dans le casting de/usr/lib/jvm/java-8-oracle/bin
ce n'est pas vrai, donc ce n'est pas un JDK.find /usr/java -wholename '*ava/jdk*' -prune
Mais le comportement dépend si vous parlez d'OpenJDK ou d'Oracle Java et comment il a été installé en premier lieu.Cette question sera déplacée mais vous pouvez faire ce qui suit
ou
la source
Utilisez find pour le localiser. Il devrait être
/usr
quelque part sous :Lors de l'exécution de la commande, s'il y a trop de messages «Permission refusée» qui masquent les résultats réels trouvés, redirigez simplement stderr vers / dev / null
la source
Une autre meilleure façon de trouver le chemin du dossier Java est d'utiliser la
alternatives
commande dans Fedora Linux (je sais que c'est pour Ubuntu mais j'ai frappé ce post de google juste par son titre). Je veux juste partager des personnes comme moi à la recherche de réponses pour la saveur de fedora.Pour afficher toutes les informations concernant java
la source
Processus en trois étapes: Premièrement: ouvrez le terminal->
$ whereis java
cela donnerait une sortie comme celle-ci:java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz
Deuxièmement:
ls -l /usr/bin/java
cela donnerait une sortie comme celle-ci:lrwxrwxrwx 1 root root 22 Feb 9 10:59 /usr/bin/java -> /etc/alternatives/java
Troisièmement: la
ls -l /etc/alternatives/java
sortie est le chemin JDK:lrwxrwxrwx 1 root root 46 Feb 9 10:59 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
la source
Simple, essayez-le:
C'est / usr / local / java / jdk [version]
la source
la commande:
sudo update-alternatives --config java
trouvera le chemin complet de toutes les versions Java installéesla source
Cette question semble toujours d'actualité, et la réponse semble être une cible mouvante.
Sur mon système Debian (buster):
Cependant, si vous y allez réellement, vous verrez qu'il y a plusieurs répertoires et liens symboliques placés là par le système de paquets pour simplifier la maintenance future.
Le répertoire actuel est
java-11-openjdk-amd64
, avec un autre lien symbolique dedefault-java
. Il existe également unopenjdk-11
répertoire, mais il semble ne contenir qu'un fichier source.zip.Compte tenu de cela, pour Debian UNIQUEMENT, je suppose que la meilleure valeur à utiliser est
/usr/lib/jvm/default-java
, car cela devrait toujours être valide, même si vous décidez d'installer une version totalement différente de java, ou même de changer de fournisseur.La raison normale de vouloir connaître le chemin est que certaines applications le souhaitent et que vous ne voulez probablement pas que cette application soit interrompue parce que vous avez effectué une mise à niveau qui a changé les numéros de version.
la source
sur OpenSUSE 13.1 / 13.2 son: le
/usr/lib64/jvm/java-1.6.0-openjdk-(version-number)
numéro de version peut être 1.7.x 1.8.x etc. vérifier la version du gestionnaire de logiciel que vous avez installée ...
André
la source
Sur Linux Fedora30, plusieurs versions du JDK Java complet sont disponibles, en particulier les noms de packages:
Une fois installés, ils se trouvent dans:
/usr/lib/jvm
Pour sélectionner l'emplacement / le répertoire d'un JDK de développement complet (qui est différent du JRE d'exécution plus simple uniquement), recherchez les entrées:
Voici deux bons choix, qui sont des liens vers des versions spécifiques, où vous devrez sélectionner la version:
la source
C'est la meilleure façon qui a fonctionné pour moi Exécuter cette commande: -
la source