2009-10-14 19 views
6

SO: Windows XP¿Por qué java -version devuelve una versión anterior?

Estoy usando yuicompressor-2.4.2 para comprimir algunos CSS antes de cargar en mi servidor. Pero cuando lo ejecuto, aparece la siguiente excepción:

Exception in thread "main" java.lang.UnsupportedClassVersionError: 
com/yahoo/platform/yui/compressor/Bootstrap (Unsupported major.minor version 48.0)

Así que creo que es debido a la JRE. El comando que escribí en cmd: java -version

Y dice: versión java "1.3.1_01", pero debería decir "1.6.0_16" ya que he instalado la última versión.

¿Qué debo hacer para que Java use la última versión en lugar de la anterior?

+1

Se puede publicar la salida de 'echo% ruta%'? –

+0

Tiene al menos 2 versiones de java instaladas. Eliminar las versiones no deseadas. Asegúrese de que $ PATH solo contenga su versión preferida. – jackrabbit

Respuesta

11

Establecer la variable de entorno JAVA_HOME apuntando al directorio donde se tiene JDK 1.6.0

set JAVA_HOME=your_path_to_jdk1.6 
set PATH=%JAVA_HOME%/bin;.;..;%PATH% 

Eso es de una ventana de comandos. También puede hacerlo desde "Mi PC> Propiedades> Opciones avanzadas> Variables de entorno"

+0

Gracias que funcionó. =) Pero todavía no sé cómo cuando actualicé Java no cambió la versión automáticamente: S –

+1

Podría funcionar, pero creo que es un error. No debería tener que meterse con la ruta si su sistema está configurado correctamente. – erickson

1

Añadir% JAVA_HOME%/bin a la variable de entorno PATH, donde JAVA_HOME se establece en su directorio JRE6u16

0

Debe revisar su entorno PATH variable. Es posible que alguna aplicación que haya instalado ponga su versión de la jre delante de la suya en la ruta.

2

Debe modificar la variable de entorno PATH:

Mi PC> clic derecho> Propiedades> Opciones avanzadas> Variables de entorno

y modificar "trayectoria"

Anexar al final de la ruta de acceso al 1.6 instalación:

;C:\jdk1.6.xxx\bin 

y elimine el anterior si está presente.

0

Parece que la versión anterior de Java todavía está en la variable de entorno PATH del sistema (en la que el sistema operativo busca comandos) o JAVA_HOME (donde yuicompressor puede buscar el ejecutable java)

¿Cómo se cambian las variables depende de su sistema operativo.

6

En Windows, el JRE instala un ejecutable java en el directorio de Windows, que debería ser el primero java en su ruta. Esto es solo un contenedor que busca en el Registro de Windows el directorio de inicio de Java (debe ser "% SystemDrive% \ Archivos de programa \ Java \ jre6" para Java 6) y se ejecuta utilizando las bibliotecas de allí.

Ejecute% SystemRoot% \ system32 \ java -version y vea lo que obtiene. Si ese es Java 6, tiene entradas en su ruta antes de% SystemRoot% \ system32 (que realmente debería ser el primero). Corrija su variable% PATH% o tendrá que ser explícito cada vez que desee ejecutar esta versión de Java.

Si ejecuta esa instancia de java no informa Java 6, no está instalado (correctamente). Desinstale e intente instalar nuevamente.

Si tiene problemas debido a la RUTA, es porque usted o algún software que instaló monkeyed con él; Recomiendo usar el predeterminado que es tener primero system32. Todo funciona bien si se usan los valores predeterminados.

Además,% JAVA_HOME% no es utilizado por el propio JRE en absoluto. Algunas aplicaciones Java comunes como tomcat y ant cumplen con la configuración de% JAVA_HOME%, por lo que quizás yuicompressor también lo haga. Pero esta es una convención de facto, no un estándar.

+1

Awesome tip !! Nunca pensé acerca de esto en absoluto. Me había agregado a mi camino pero al final. Tan pronto como ajusté las órdenes, resolvió el problema de inmediato. Gracias :) –

4

Vaya al directorio system32 C: \ Windows \ System32 y eliminar siguientes 3 archivos

  • java.exe
  • javaw.exe
  • javaws.exe

Ahora crear una Variable de entorno JAVA_HOME con value = {ruta raíz de su instalación jdk} y agregue la carpeta path till bin de su jdk en la variable de entorno PATH.

Abra un símbolo del sistema fresco y ejecutar java -version para confirmar el cambio

+0

resuelto mi problema Gracias – user2045810

+0

esto también puede ser en este directorio 'C: \ ProgramData \ Oracle \ Java \ javapath' que necesita eliminarlos también –

Cuestiones relacionadas