intellij instalar descargar windows groovy groovyshell

instalar - install groovy windows 7



Advertencia de Groovy Shell "No se pudo abrir/crear el nodo raĆ­z de prefs..." (8)

El problema es que una consola simple no puede editar el registro. No es necesario editar el registro a mano, simplemente inicie el groovysh una vez con privilegios administrativos. Todos los lanzamientos posteriores funcionan sin error.

Intenté abrir Groovy Shell ( groovysh ) en Windows 8 y obtuve el siguiente resultado:

java.util.prefs.WindowsPreferences <init> WARNING: Could not open/create prefs root node Software/JavaSoft/Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

Después de imprimir el mensaje anterior, el shell comenzó como se esperaba.


Estaba recibiendo el siguiente mensaje:

Could not open/create prefs root node Software/JavaSoft/Prefs at root 0x80000002

y desapareció después de crear una de estas claves de registro, la mía es de 64 bits, así que solo intenté eso.

32 bit Windows HKEY_LOCAL_MACHINE/Software/JavaSoft/Prefs 64 bit Windows HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/JavaSoft/Prefs


Esto es en realidad un error JDK. Se ha informado varias veces a lo largo de los años, pero solo en 8139507 finalmente fue tomado en serio por Oracle.

El problema estaba en el código fuente de JDK para WindowsPreferences.java . En esta clase, los nodos userRoot y systemRoot se declararon estáticos como en:

/** * User root node. */ static final Preferences userRoot = new WindowsPreferences(USER_ROOT_NATIVE_HANDLE, WINDOWS_ROOT_PATH); /** * System root node. */ static final Preferences systemRoot = new WindowsPreferences(SYSTEM_ROOT_NATIVE_HANDLE, WINDOWS_ROOT_PATH);

Esto significa que la primera vez que se haga referencia a la clase se iniciarán ambas variables estáticas y con esto se intentará crear la Clave del Registro para HKEY_LOCAL_MACHINE/Software/JavaSoft/Prefs (= árbol del sistema) si aún no existe.

Entonces, incluso si el usuario tomara todas las precauciones en su propio código y nunca tocara o hiciera referencia al árbol del sistema, entonces la JVM en realidad trataría aún de crear systemRoot instancia del sistema systemRoot , causando la advertencia. Es un error sutil interesante.

Hay una solución comprometida con la fuente JDK en junio de 2016. Será interesante ver si se transferirá a Java 8.

Lo que ves es realmente una advertencia del registrador interno del JDK. No es una excepción Creo que la advertencia se puede ignorar de forma segura ... a menos que el código de usuario realmente desee las preferencias del sistema, pero eso rara vez es el caso.

Información de bonificación

El error no se reveló en versiones anteriores a Java 1.7.21, porque hasta entonces el instalador de JRE crearía la clave de registro HKEY_LOCAL_MACHINE/Software/JavaSoft/Prefs para usted y esto efectivamente ocultaría el error. Por otro lado, en realidad nunca se le ha requerido ejecutar un instalador para tener un JRE en su máquina, o al menos esto no ha sido la intención de Sun / Oracle. Como sabrá, Oracle ha estado distribuyendo el JRE para Windows en formato .tar.gz durante muchos años.



La respuesta de Dennis es correcta. Sin embargo, me gustaría explicar la solución de una manera un poco más detallada (para el usuario de Windows):

  1. Vaya a su Menú de Inicio y escriba regedit en el campo de búsqueda.
  2. Navegue a la ruta HKEY_LOCAL_MACHINE/Software/JavaSoft (Windows 10 parece tener ahora esto aquí: HKEY_LOCAL_MACHINE/Software/WOW6432Node/JavaSoft )
  3. Haga clic derecho en la carpeta JavaSoft y haga clic en New -> Key
  4. Nombra las nuevas Prefs clave y todo debería funcionar.

Alternativamente, guarde y ejecute un *.reg con el siguiente contenido:

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/Software/JavaSoft/Prefs]


Pude resolver el problema creando manualmente la siguiente clave de registro:

HKEY_LOCAL_MACHINE/Software/JavaSoft/Prefs


Si alguien está tratando de resolver esto en una versión de 64 bits de Windows, es posible que deba crear la siguiente clave:

HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/JavaSoft/Prefs


Tuve un problema similar al iniciar apache jmeter en Windows 8 64 bit:

[]apache-jmeter-2.13/bin>jmeter java.util.prefs.WindowsPreferences <init> WARNING: Could not open/create prefs root node Software/JavaSoft/Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

Exitosamente usó la solución de Dennis Traub, con explicaciones de Mkorsch. O puede crear un archivo con la extensión "reg" y escribir en él lo siguiente:

Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Prefs]

... luego ejecútalo.