Comment trouver le chemin où jdk est installé?

34

J'ai installé le jdk1.7.0.rpmpaquet dans RHEL6.
Où puis-je trouver le chemin pour exécuter mon premier programme java?

Mohammad Faisal
la source
2
Duplicata possible de 18472
sakisk le
2
Salut Mohammad. Ce n'est pas une question stupide, mais qui a reçu une réponse en plusieurs endroits déjà - comme cela ou cette question .
rozcietrzewiacz
Juste un PS: sur MacOS, Java est généralement installé dans '/ System / Library / Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', où le numéro de version peut être différent.
Daniel Wang

Réponses:

48

Essayez l'un des deux:

$ qui java

$ whereis java

Pour votre premier programme Java, lisez ce tutoriel:

"Bonjour le monde!" pour SE Solaris et Linux

Sadique
la source
Notez que ces commandes donnent des résultats différents. Si vous êtes intéressé par le chemin non-symlink, utilisez whereis java.
P.Brian.Mackey
Je ne pense pas vraiment que cela réponde à la question. Le javabinaire est installé avec le JRE, mais si vous faites du développement, vous avez besoin de JDK, qui n'est pas nécessairement installé dans which java(qui dans mon cas est / usr / bin).
Tim S.
12

Vous pouvez lister les fichiers installés avec

rpm -ql packagename

Vous verrez quelque part un binrépertoire avecjava executable

Mais si le RPM JDK était correctement installé, vous devriez déjà trouver javadans votre chemin.

Essayer

javac MyFirstJavaClass.java

et si tout compile

java MyFirstClass

(Si vous n'avez rien changé, le répertoire actuel .devrait déjà être dans votre chemin de classe)

Matteo
la source
Cela devrait être la réponse acceptée OMI.
Tim S.
8

Étant donné que cette question est spécifique RPM, rpmest la façon de commencer (comme une réponse par @Matteo ).

drapeaux rpm

-q is short for --query
-l is short for --list

Exemple

rpm -ql jdk1.8.0_20 | grep "jdk1.8.0_20/bin$"
/usr/java/jdk1.8.0_20/bin

Sachant cela peut être souhaitable pour définir la $JAVA_HOMEvariable d' un utilisateur ou d'une application . Ceci est souvent nécessaire lorsqu'un système a plusieurs versions de Java, ou plusieurs distributions de Java, telles que OpenJDK et Oracle / soleil .

$JAVA_HOME Exemple

Dans le ~/.bash_profileou le fichier lié ( .bashrc, .zshrc, .cshrc, setenv.sh), quelque chose de similaire à ce qui suit peut être utilisé.

JAVA_HOME='/usr/java/jdk1.8.0_20'
export JAVA_HOME
PATH="$JAVA_HOME/bin:$PATH"
export PATH

Si vous souhaitez davantage de contrôle sur l'emplacement d'installation de Java, tel que in /opt, vous pouvez utiliser l'archive à la place du fichier RPM.


D'autres questions similaires demandent comment trouver un fichier binaire ou un fichier, dans le cas général.

Kevin
la source
En général, je recommande fortement d'utiliser le package mlocate pour rechercher des éléments sur un système de fichiers Linux basé sur Red Hat.
Kevin
7

Sur RHEL7, j'ai utilisé

locate openjdk

et cela m'a conduit au /usr/lib/jvm/répertoire qui contenait les répertoires:

java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre/
jre-1.8.0/
jre-1.8.0-openjdk/
jre-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/
jre-openjdk/

Chacun d'entre eux contient un bin/java

Pour trouver le chemin complet du lien symbolique, utilisez:

readlink -f $(which java)

* Crédit: Réponse en cas de dépassement de capacité

** Note: je réponds ici car c'était le premier résultat dans Google

r17n
la source
Cela me donnait surtout JDK6 même si java -versionje m'en donnais 1,8. Il y avait un lien vers le dossier JDK8 près du sommet.
Noumenon le