variable register mac jar environment-variables java

jar - register - set environment variable windows cmd



La clave de registro ''...'' tiene el valor ''1.7'', pero se requiere ''1.6''. Java 1.7 está instalado y el Registro apunta a él (10)

Acabo de tener el mismo error al instalar java 8 (jdk & jre) en un sistema que ya ejecuta Java 7.

Error: clave de registro ''Software / JavaSoft / Java Runtime

El entorno ''/ CurrentVersion'' tiene el valor ''1.8'', pero se requiere ''1.7''.

Error: no se pudo encontrar el error java.dll: no se pudo encontrar Java SE Runtime Environment.

Mi entorno se configuró correctamente (Path & java_home está correctamente definido), pero el problema surge de la forma en que funcionaban los instaladores de Java anteriores a 8, que es que solían copiar los tres ejecutables (java.exe, javaw.exe y javaws.exe ) al directorio de sistema de Windows. Permanecen a menos que se sobrescriban con una nueva instalación anterior a la 8ª.

Sin embargo, el instalador de Java 8 crea enlaces simbólicos en un nuevo directorio, C: / ProgramData / Oracle / Java / javapath, que apunta a la ubicación real de JRE 8.

Esto significa que realmente ejecutará los antiguos 7 exes pero usará los nuevos 8 DLL.

Entonces, la solución es simplemente eliminar los 3 Java Exes, como se indica arriba, desde el directorio del sistema de Windows.

Si está ejecutando Java de 32 bits en un Windows de 64 bits, las copias se encontrarán en Windows / SysWOW64, de lo contrario, en Windows / System32.

Recientemente, mi equipo de desarrollo fue forzado a un entorno de desarrollo remoto donde no tenemos acceso completo a los servidores. Antes del cambio, teníamos un JAR que funcionaba bien en Java 1.7 x64 junto con JRE 7. Cuando nos movíamos al nuevo servidor, nuestro JAR funcionaba correctamente, pero luego uno de los administradores del servidor "actualizaba" nuestra Java a una versión anterior. versión y desinstalado el que estábamos usando. No me preguntes por qué, no sé. Reinstalé Java 1.7 y desinstalé 1.6 junto con los JRE.

El siguiente problema ocurre en el tiempo de ejecución, no hay errores de compilación:

Registry key ''Software/JavaSoft/Java Runtime Environment/CurrentVersion'' has value ''1.7'', but ''1.6'' is required. Error: could not find java.dll Error: could not find Java SE Runtime Environment.

He ejecutado el mismo JAR en mi computadora portátil sin problemas. Tanto el servidor como mi portátil tienen JDK 1.7 y JRE 7 en las respectivas variables% HOME% y el sistema PATH. Incluso he reinstalado JRE 6 y lo coloqué más tarde en las variables de PATH del entorno del sistema con el mismo resultado.

También volví a cambiar el registro para mirar 1.6 y resultó en lo siguiente, que busqué y parece ser que tengo varios Javas instalados (lo que me lleva a mi problema original):

Exception in thread "main" java.lang.UnsupportedClassVersionError: ... : Unsupported major.minor version 51.0

Apreciaría cualquier idea que tengan ya que he estado buscando en varios foros, pero parece que nada tiene exactamente mi problema. Además, esto ha sucedido en otro servidor que estamos utilizando también. ¡Gracias!

Actualización: No hubo suerte al volver a compilar el JAR en 1.6 o 1.7 y coincidir con el JDK. Además, ¿por qué en el mundo una versión más nueva de Java rompería una versión compilada anterior?


Cambie al directorio con java.exe correcto, es decir, vaya a la versión requerida de JDK java.exe

cd C:/Program Files/Java/jdk1.7.0_25/bin

Ejecute java.exe desde este directorio, tiene prioridad sobre las configuraciones de registro y $ PATH.

java -jar C:/installed/selenium-server-standalone-2.53.0.jar


El contenedor fue compilado para ser compatible con 1.6 . Es por eso que obtienes este error. Dos resoluciones:
1) Utiliza Java 1.6

O

2) Vuelva a compilar el contenedor para que sea compatible con su entorno 1.7


En el menú INICIO, escriba "regedit" para abrir el editor de registro

Vaya a "HKEY_LOCAL_MACHINE" en el menú del explorador / árbol de registro del lado izquierdo

Haga clic en "SOFTWARE" dentro de los registros "HKEY_LOCAL_MACHINE"

Haga clic en "JavaSoft" dentro de los registros "SOFTWARE"

Haga clic en "Java Runtime Environment" dentro de la lista de registros "JavaSoft". Aquí puede ver las diferentes versiones de java instalado.

Haga clic en "Java Runtime Environment" - En el lado derecho, obtendrá 4-5 filas. Seleccione "CurrentVersion" y haga clic con el botón derecho (seleccione la opción modificar) Cambie la versión a "1.7"

Ahora la magia ha sido completada


Esto sucede cuando de alguna manera confundiste a Java. Está intentando ejecutar una máquina virtual Java 6 donde encontró un JRE 7. Podría mostrar este problema incluso si escribe en la línea de comandos solo java o java -version en un entorno mal configurado. El JAR no es el problema, excepto en el muy improbable caso en el que el código en JAR está buscando en el Registro de Windows (que probablemente no es su caso).

En mi caso, tenía java.exe , javaw.exe y javaws.exe de Java 6 en la carpeta Windows/System32 (no sé cómo llegó a estar allí). El resto de JDK y JRE se encontraron en la RUTA dentro de C:/Java/jdk_1.7.0/bin . Oops!


He eliminado archivos java en windows / system32 y también he eliminado c: / ProgramData / Oracle / Java / javapath de la variable PATH, porque había 3 enlaces simbólicos a archivos java 1.8.

Tenía JDK 1.7 en la variable% JAVA_HOME% y java1.7 / bin en la RUTA.

PS1: Mi problema fue entre Java 1.7 y Java 1.8.

PS2: No puedo agregar esto como un comentario a la respuesta de Victor porque no tengo suficientes puntos.


No sé si alguien todavía está siguiendo este hilo, pero recientemente tuve este problema cuando traté de iniciar ActiveMQ 5.10 como un servicio de Windows.

No tenía un conjunto de rutas JAVA_HOME. Tenía Java 6 y Java 7 instalados, pero la versión predeterminada era v7. (es decir, si abrí una ventana de comandos y escribo "java -version").

Aquí es donde estaba la pista: "java -version" devolvió "Java HotSpot (TM) 64-Bit Server VM (compilación 23.1-b03, modo mixto)" pero me habían instalado el servicio Win32 ...

Resulta que si usa Win32 wrapper en una máquina de 64 bits, de alguna manera decide usar una versión diferente de Java ...

Así que mi solución fue desinstalar la versión de 32 bits del wrapper e instalar la versión de 64 bits. aversión en mi máquina; solo hábito, supongo ... Pero afortunadamente resolví el problema finalmente ...


Para mi Win7

Paradox estaba en ser java.exe y javaw.exe en la carpeta System32. Al abrir esa carpeta no pude verlos, pero usando la búsqueda en el menú Inicio, obtuve enlaces a esos archivos y los eliminé. El siguiente searsh me dio enlaces a archivos de JAVA_HOME

magia )


Resolví este problema desinstalando Java 1.8


Usando regedit, elimine las entradas correspondientes a java 7. Funcionará.