197 votes

Où puis-je trouver le SDK Java sous Linux après l'avoir installé ?

J'ai installé JDK en utilisant apt-get install mais je ne sais pas où se trouve mon dossier jdk. J'ai besoin de définir le chemin pour cela. Est-ce que quelqu'un a une idée de l'emplacement ?

1 votes

Distribution Linux : Debian 2.6.26

0 votes

Essayez /usr/local/java/ pour les distributions Oracle originales téléchargées.

405voto

Paŭlo Ebermann Points 35526

Cela dépend un peu de votre système de paquets ... si le fichier java fonctionne, vous pouvez taper readlink -f $(which java) pour trouver l'emplacement de la commande java. Sur le système OpenSUSE que j'utilise actuellement, il renvoie les résultats suivants /usr/lib64/jvm/java-1.6.0-openjdk-1.6.0/jre/bin/java (mais ce n'est pas un système qui utilise apt-get ).


Sur Ubuntu, il On dirait que c'est dans /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 aussi, je pense).

Debian est la même chose.


Pour un paquet donné, vous pouvez déterminer quels fichiers il installe et où il les installe en interrogeant dpkg. Par exemple, pour le paquetage 'openjdk-6-jdk' : dpkg -L openjdk-6-jdk

1 votes

Je cherche aussi dans /usr/java sur certaines configurations que j'ai vues.

0 votes

Si vous devez ajouter le chemin du JDK dans Android studio, ajoutez ceci /usr/lib/jvm/java-8-oracle/

4 votes

Il semble que mon chemin soit /usr/lib/jvm/java-7-openjdk-amd64 .

49voto

forcefsck Points 950
update-java-alternatives -l

vous indiquera quelle est l'implémentation de Java par défaut sur votre système et où elle est installée dans le système de fichiers. Consultez le manuel pour plus d'options.

7 votes

C'est spécifique à Debian (au moins). D'autres distros peuvent ne pas l'avoir

2 votes

@dequis, c'est une réponse spécifique à debian, puisque la question mentionnée apt-get et la distro à être Debian 2.6.26 . AFAIK, il devrait être le même pour tous les dérivés de Debian.

2 votes

Je le signale juste pour les autres personnes. Je sais que c'est valable pour cette question particulière.

33voto

The Surrican Points 12882
$ which java 

devrait vous donner quelque chose comme

/usr/bin/java

2 votes

C'est vrai. Je parie que c'est après l'installation d'apt-get.

9 votes

Cela n'indique pas réellement 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 je lance la commande readlink -f $(which javac) il imprime /usr/lib/jvm/java-8-oracle/bin/javac . Ce dossier bin n'est PAS un JDK. Le test général pour savoir s'il s'agit d'un JDK est de voir si le fichier actuel $JAVA_HOME contient un chemin de lib/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.

0 votes

Sur Centos / RHL C'est ce que je préfère pour trouver le JDK (s'il est installé) find /usr/java -wholename '*ava/jdk*' -prune Mais le comportement dépend de ce que vous parlez d'OpenJDK ou d'Oracle Java et de la façon dont il a été installé en premier lieu.

14voto

Andrew Finnell Points 9013

Cette question va être déplacée mais vous pouvez faire ce qui suit

which javac

ou

cd /
find . -name 'javac'

0 votes

J'aime la deuxième option - simple et utile si vous avez plusieurs JREs/JDKs et que vous voulez les trouver tous.

0 votes

"find / -name 'javac'" est moins long à taper, mais nécessite le privilège admin (Root) ou vous obtiendrez de nombreux messages de refus de permission.

9voto

Brent Worden Points 5118

Utilisez find pour le localiser. Il devrait se trouver sous /usr quelque part :

find /usr -name java

Lors de l'exécution de la commande, s'il y a trop de messages "Permission refusée" obscurcissant les résultats trouvés, il suffit de rediriger stderr vers /dev/null.

find /usr -name java 2> /dev/null

1 votes

Si ce n'est pas Root (admin), vous recevrez de nombreux messages de refus d'autorisation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X