¿Cómo encontrar la ruta donde se instaló jdk?

34

He instalado el jdk1.7.0.rpmpaquete en RHEL6.
¿Dónde encuentro la ruta para ejecutar mi primer programa Java?

Mohammad Faisal
fuente
2
Posible duplicado de 18472
sakisk
2
Hola mohammad No es una pregunta estúpida, pero ya ha sido respondida en varios lugares, como esta o esta pregunta .
rozcietrzewiacz
Solo una PS: en MacOS, Java generalmente se instala en '/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home', donde el número de versión podría ser diferente.
Daniel Wang

Respuestas:

48

Pruebe cualquiera de los dos:

$ que java

$ whereis java

Para su primer programa Java, lea este tutorial:

"¡Hola Mundo!" para Solaris OS y Linux

Sadique
fuente
Tenga en cuenta que estos comandos dan resultados diferentes. Si está interesado en la ruta sin enlace simbólico, use whereis java.
P.Brian.Mackey
Realmente no creo que esto responda la pregunta. El javabinario se instala con el JRE, pero si está haciendo desarrollo necesita JDK, que no está necesariamente instalado which java(que en mi caso es / usr / bin).
Tim S.
12

Puede enumerar los archivos instalados con

rpm -ql packagename

Verá en alguna parte un bindirectorio conjava executable

Pero si el RPM JDK se instaló correctamente, ya debería encontrar javaen su ruta.

Tratar

javac MyFirstJavaClass.java

y si todo se compila

java MyFirstClass

(Si no cambió nada, el directorio actual .ya debería estar en su ruta de clase)

Matteo
fuente
Esta debería ser la respuesta aceptada de la OMI.
Tim S.
8

Dado que esta cuestión es específica RPM, rpmes la manera de empezar (como contestada por @Matteo ).

banderas rpm

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

Ejemplo

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

Saber esto puede ser deseable para configurar una $JAVA_HOMEvariable de usuario o aplicación . Esto es a menudo necesario cuando un sistema tiene varias versiones de Java instaladas, o múltiples distribuciones de Java instaladas, como OpenJDK y Oracle / Sol .

$JAVA_HOME Ejemplo

En el ~/.bash_profile, o archivo relacionado ( .bashrc, .zshrc, .cshrc, setenv.sh), se puede usar algo similar a la de abajo.

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

Si desea tener más control sobre dónde se instala Java, como en /opt, entonces se puede usar el tarball en lugar del archivo RPM.


Otras preguntas similares son preguntas sobre cómo encontrar cualquier archivo binario o archivo, en el caso general.

Kevin
fuente
En general, recomiendo usar el paquete mlocate para encontrar cosas en un sistema de archivos Linux basado en Red Hat.
Kevin
7

En RHEL7, solía

locate openjdk

y me llevó al /usr/lib/jvm/directorio que contenía los directorios:

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/

Cada uno de estos contiene un bin/java

Para encontrar la ruta completa del enlace simbólico use:

readlink -f $(which java)

* Crédito: respuesta en desbordamiento de pila

** Nota: estoy respondiendo aquí ya que fue el primer resultado en Google

r17n
fuente
Esto me dio principalmente JDK6 aunque java -versionme dio 1.8. Había un enlace a la carpeta JDK8 cerca de la parte superior.
Noumenon