variable the nor neither jre_home java_home java tomcat batch-file tomcat6

the - Tomcat 6 JAVA_HOME



jre_home tomcat (8)

Coloque la ruta entre comillas:

set JAVA_HOME="C:/Program Files (x86)/Java/jre7"

El error se debe al hecho de que está analizando los archivos en archivos de programa como un parámetro separado, que SET no espera. ¿Por qué SET no lo lee correctamente? No puedo decir sin saber más sobre qué sistema operativo está utilizando, desde qué shell de comandos está ejecutando Tomcat, etc.

Intento establecer la ruta JAVA_HOME ya que mi servidor Tomcat la está buscando. Estoy intentando configurarlo pero no parece funcionar y causa un error cuando lo hago. Estoy tratando de establecer el JAVA en el setclasspath.bat usando

set JAVA_HOME="C:/Program Files (x86)/Java/jre7"

Esto es al comienzo de setclasspath.bat

set JAVA_HOME="C:/Program Files (x86)/Java/jre7" if not "%JAVA_HOME%" == "" goto gotJdkHome if not "%JRE_HOME%" == "" goto gotJreHome echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program goto exit

Cuando configuro esto y ejecuto "startup.bat start" se muestra

Archivos fue inesperado en este momento

¿Me puedes ayudar?


Estás apuntando a un JRE. Debe apuntar a un JDK, que, dada la ubicación de su JRE, podría ser algo como C:/Program Files (x86)/Java/jdk1.6.0_26 o similar. O, si solo tiene un JRE instalado, deberá instalar un JDK completo. Tomcat debe poder compilar JSP en archivos .class, lo que no puede hacer un JRE.


La razón por la que su comando falló es porque tiene espacios en blanco entre ''Archivos de programa (x86)'' y así comienza a leer el comando desde ''Archivos (x86)''. Así que en lugar de eso, lo colocamos entre comillas dobles como la siguiente. prueba esto..

set JAVA_HOME="C:/"Program Files (x86)"/Java/jre7"



Tuve el mismo problema en Windows 7 con la siguiente definición (lo puse en un archivo setenv.bat en la carpeta jdk bin como se especifica en RUNNING.txt de tomcat 7).

set JAVA_HOME="C:/Program Files (x86)/Java/jre7"

Acabo de intentar eliminar las comillas dobles por completo:

set JAVA_HOME=C:/Program Files (x86)/Java/jre7

Y luego comenzó el gato.


Nota: Me doy cuenta de que esta es una pregunta bastante antigua, pero muchas de las respuestas publicadas aquí son incompletas o inexactas. Esperamos que esto ayude a ahorrar algunos dolores de cabeza.

En primer lugar: Tomcat no necesita un JDK para funcionar, funcionará bien con un JRE, siempre que sepa que es un JRE.

En segundo lugar, el error de la pregunta original proviene de un problema con la sintaxis del comando set JAVA_HOME=... Los propios apaches podrían manejarlo mejor con la eliminación y la adición de " comillas " .

Además, recomiendo encarecidamente crear un archivo setenv.bat en la carpeta bin . Está ausente de forma predeterminada, así que si aún no tiene una, set JRE_HOME=... y agregue su set JAVA_HOME=... o set JRE_HOME=... líneas allí.

Correr con jre

Según running.txt :

La variable JRE_HOME se utiliza para especificar la ubicación de un JRE. La variable JAVA_HOME se utiliza para especificar la ubicación de un JDK.

El uso de JAVA_HOME proporciona acceso a ciertas opciones de inicio adicionales que no están permitidas cuando se usa JRE_HOME.

Si se especifican JRE_HOME y JAVA_HOME, se usa JRE_HOME.

Entonces, para iniciar de esta manera, necesitarás lo siguiente:

set "JAVA_HOME=" set "JRE_HOME=C:/Program Files (x86)/Java/jre7"

Borrar la variable JAVA_HOME es seguro, pero no es realmente necesario. De acuerdo con la documentación, Tomcat intentará usar la variable JRE primero de todos modos.

Solución para el problema en cuestión

Tome nota especial de la posición de las comillas. De esta manera, mantenga la cadena completa junta en una variable, sin incluir las comillas en el contenido de la variable.

Por ejemplo:

set %TEST%="hello" echo "%TEST%"

Saldrá ""hello"" .

set "%TEST%=hello" echo "%TEST%"

Saldrá "hello" .

Por lo tanto, la secuencia de comandos del archivo por lotes de inicio estaba intentando usar ""C:/Program Files (x86)/Java/jre7"" , en el que el primer espacio sin escape se encuentra entre "Programa" y "Archivos".

Como ya se señaló, la eliminación de las comillas (al menos en este caso en particular) funcionaría, pero es peligroso confiar en eso. En vez de eso, juegue seguro desde el inicio y ajuste el nombre y el valor de la variable entre comillas.


  • Primero, instale java y localice la ruta de instalación.
  • Localice la ruta de instalación de Tomcat y encuentre el archivo startup.bat en / bin
  • Abra startup.bat y agregue las líneas siguientes (ejemplo) justo después de setlocal y antes de rem Guess CATALINA_HOME if not defined

:: JAVA set JAVA_HOME=D:/thushara_data/Java/jdk1.8.0_73 set PATH=%JAVA_HOME%/bin;%PATH%

Ahora intenta volver a ejecutar startup.bat


  • Si no puede configurar las variables manualmente: para establecer JAVA_HOME and JRE_HOME

  • Vaya a la configuración avanzada del sistema y haga clic en environment variables de environment

  • debajo de las variables del system , haga clic

  • nuevo nombre de variable: JAVA_HOME
  • valor variable: [path of jdk]C:/Program Files/Java/jdk1.8.0_181 y haga clic en Aceptar

  • de manera similar agrega JRE_HOME

  • haga clic en el nuevo nombre de la variable: JRE_HOME
  • valor variable: [path of jre]C:/Program Files/Java/jre1.8.0_181
  • haga clic en Ok > Ok > Ok