Entorno
Problemas/Síntomas
Caso de uso - Se ha informado de un problema al reemplazar el JDK de Oracle por JDK de apertura en instancias de Campaign que se ejecutan en Windows.
Actualmente, el cliente tiene instalado el Oracle JDK v1.8.0.191 en todas las instancias de Windows Campaign. Sin embargo, después de reemplazar el Oracle JDK por Open JDK en una de sus instancias de Campaign, la WEB no ha podido comenzar con el siguiente error:
JVM-510037 Cannot find the Java dynamic library. Check that a JDK or a JRE is installed on the machine. (iRc=-53)
Sin embargo, Java se instala correctamente con las variables de entorno Path y JAVA_HOME correctas.
Para ejecutar el módulo web, la biblioteca dinámica de JVM debe ser visible para Campaign. Al eliminar el JDK de Oracle, se elimina la clave de JavaSoft del registro de Windows y también se pierden las referencias a esa biblioteca de JVM.
Hay dos soluciones para resolver este problema:
En primer lugar, puede agregar manualmente la clave de JavaSoft al registro de Windows en Computer\HKEY_LOCAL_MACHINE\SOFTWARE.
Este es un ejemplo (con OpenJDK 1.8_292
) de lo que debe añadir:
Windows Registry Editor Version 5.00
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment"CurrentVersion"="1.8""BrowserJavaVersion"="11.301.2"
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8"MicroVersion"="0""RuntimeLib"="C:\\Users\\perth\\Java\\openjdk-8u292-b10\\jre\\bin\\server\\jvm.dll""JavaHome"="C:\\Users\\perth\\Java\\openjdk-8u292-b10\\jre"
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.8.0_292"MicroVersion"="0""RuntimeLib"="C:\\Users\\perth\\Java\\openjdk-8u292-b10\\jre\\bin\\server\\jvm.dll""JavaHome"="C:\\Users\\perth\\Java\\openjdk-8u292-b10\\jre"
Y la siguiente carpeta de ruta se ha agregado a la Ruta variable de entorno.
C:\Users\perth\Java\openjdk-8u292-b10\bin
El módulo web debe poder iniciarse como se espera:
En segundo lugar, se puede definir el uso de dos variables de entorno de Windows para indicar dónde se puede encontrar el archivo jvm.dll en el módulo Web.
Las variables son:
A continuación, se muestra un ejemplo:
Tenga en cuenta que el uso del JVMLIBDIR será visible desde el registro si el registro detallado está habilitado en el módulo Web.