2011-05-11 28 views
40

¿Hay un comando del sistema operativo para encontrar qué versión de Java está utilizando Tomcat6? Necesito usar un comando Perl (incluido el sistema()).¿Cómo puedo saber qué versión de Java está usando Tomcat6?

Utilizo Linux. Ubuntu y CentOS

¿Hay algo así como?

 tomcat6 version 
+1

¿Desea encontrar eso desde dentro de Tomcat (es decir, un servlet o JSP o clase de utilidad), o desde el exterior? –

+0

@ Paŭlo Ebermann ver mis nuevas ediciones. – bitbucket

+0

Me gustaría saber en WINDOWS cómo hacerlo – Dennis

Respuesta

34

Primero debes entender que Tomcat es una aplicación de Java. Entonces, para ver qué versión de java utiliza Tomcat, simplemente puede encontrar el archivo de script desde el que se inicia Tomcat, generalmente catalina.sh.

Dentro de este archivo, se consigue algo como a continuación:

catalina.sh:# JAVA_HOME  Must point at your Java Development Kit installation. 
catalina.sh:#     Defaults to JAVA_HOME if empty. 
catalina.sh: [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 
catalina.sh: JAVA_HOME=`cygpath --absolute --windows "$JAVA_HOME"` 
catalina.sh: echo "Using JAVA_HOME:  $JAVA_HOME" 

Por defecto, JAVA_HOME debe estar vacía, lo que significa que vaya a utilizar la versión predeterminada de Java, o puede probar con: echo $ JAVA_HOME

Y a continuación, utilice "java -version" para ver qué versión es java predeterminada.

Y viceversa estableciendo esta propiedad: JAVA_HOME, puede configurar qué versión de Java usar al iniciar Tomcat.

6

Si Tomcat no se ha iniciado todavía, se puede utilizar el comando \bin\cataline version para comprobar que JVM se utilizará el gato al iniciar Tomcat mediante bin\startup

De hecho, \bin\cataline version simplemente llamar a la clase principal de org.apache.catalina.util.ServerInfo , que se encuentra dentro del \lib\catalina.jar. El org.apache.catalina.util.ServerInfo obtiene el vendedor Versión JVM y JVM por los siguientes comandos:

System.out.println("JVM Version: " +System.getProperty("java.runtime.version")); 
System.out.println("JVM Vendor: " +System.getProperty("java.vm.vendor")); 

lo tanto, si el gato está en ejecución, puede crear una página JSP que llama org.apache.catalina.util.ServerInfo o simplemente llamar a la anterior System.getProperty() para obtener la versión de la JVM y vendedor. Implemente este JSP en la instancia de ejecución de tomcat y navegue hasta él para ver el resultado.

Como alternativa, debe conocer qué puerto usa la instancia de ejecución de tomcat. Entonces, puede usar el comando del sistema operativo para encontrar qué proceso está escuchando este puerto. Por ejemplo, en la ventana, puede usar el comando netstat -aon para averiguar la ID del proceso de un proceso que está escuchando un puerto en particular. A continuación, vaya al administrador de tareas de la ventana al check the full file path of this process ID belongs to.. La versión de Java se puede determinar a partir de esa ruta de archivo.

93

versión /usr/local/tomcat6/bin/catalina.sh

+17

+1. esto debe seleccionarse como ** Respuesta correcta ** –

+0

+1 Esto también imprime JRE_HOME. –

+0

Esto imprime JRE_HOME. Pero si hago 'echo $ JRE_HOME' no imprime nada. Entonces, ¿de dónde sale Tomcat JRE_HOME? – mahacoder

25

Una vez que haya comenzado Tomcat sólo tiene que ejecutar el siguiente comando en una terminal:

ps -ef | grep tomcat

Esto mostrará los detalles del proceso e indicará qué JVM (por ubicación de carpeta) ejecuta tomcat.

+4

k ¿cómo encontrar la versión de tomcat de esto? –

+1

Manera muy útil y precisa para encontrarlo. Gracias –

+0

esto es exacto, ps-ef | grep tomcat, muestra la ruta del runtime java en la salida. Use esa ruta java, call/xx/yy/java -version. La versión de catalina.sh puede mostrar una jre_versión diferente en comparación con la versión de lanzamiento de tomcat. – signonsridhar

3

O puede utilizar la aplicación Probe y simplemente mire en la página Información del sistema. Mucho más fácil que escribir código, y una vez que comiences a usarlo nunca más volverás a Tomcat Manager.

+0

+1 para la sonda :) – gkiko

0

Después de instalar Tomcat, puede elegir "configurar tomcat" buscando en "buscar programas y archivos". Después de hacer clic en "configurar Tomcat", debe otorgar permisos de administrador y se abre la ventana. Luego haga clic en la pestaña "java". Allí puede ver el classpath JVM y JAVA.

+1

esto no aborda la pregunta de los usuarios y parece estar orientado a un sistema de Windows. – bitoiu

3

Puede utilizar la aplicación del gestor de Tomcat para averiguar qué versiones de JRE y OS utiliza Tomcat. Teniendo en cuenta un usuario con contraseña tomcatpassword con un papel de manager:

Tomcat 6:

curl http://tomcat:[email protected]:8080/manager/serverinfo 

Tomcat 7/8:

curl http://tomcat:[email protected]:8080/manager/text/serverinfo 
-1

Para Windows, lanzar cmd pronta y ruta a la ruta (generalmente bin) donde tienes tu script de inicio de tomcat.

C:\opt\isv\tomcat-7.0\grid\bin>version 
Using CATALINA_BASE: "C:\opt\isv\tomcat-7.0\grid" 
Using CATALINA_HOME: "C:\opt\isv\tomcat-7.0\grid" 
Using CATALINA_TMPDIR: "C:\opt\isv\tomcat-7.0\grid\temp" 
Using JRE_HOME:  "C:\opt\isv\devtools\jdk1.8.0_45" 
Using CLASSPATH:  "C:\opt\isv\tomcat-7.0\grid\bin\bootstrap.jar;C:\opt\isv\tomcat-7.0\grid\bin\tomcat-juli.jar" 
Server version: Apache Tomcat/7.0.55 
Server built: Jul 18 2014 05:34:04 
Server number: 7.0.55.0 
OS Name:  Windows 7 
OS Version:  6.1 
Architecture: x86 
JVM Version: 1.8.0_45-b15 
JVM Vendor:  Oracle Corporation 
C:\opt\isv\tomcat-7.0\grid\bin> 
+0

Él afirmó claramente que el sistema operativo que está utilizando es: Linux. Ubuntu y CentOS. su respuesta no se relacionó con ninguno de ellos. –

Cuestiones relacionadas