JVM-510037 Impossible de trouver la variable Java bibliothèque dynamique.

Description

Cas pratique - Un client a signalé un problème lors du remplacement de Oracle JDK avec Open JDK sur leur Campaign instances en cours d’exécution Windows.

Ils disposent actuellement de Oracle JDK v1.8.0.191 installé sur tous leurs Windows Campaign instances. Toujours, après avoir remplacé Oracle JDK avec Open JDK dans l’un de leurs Campaign ne démarre pas avec l’erreur suivante :

JVM-510037 Cannot find the Java dynamic library. Check that a JDK or a JRE is installed on the machine. (iRc=-53)

Cependant, Java est correctement installé avec le bon chemin et JAVA_HOME des variables d’environnement.

Résolution

Pour exécuter le module Web, la bibliothèque dynamique JVM doit être visible sur Campaign. En supprimant Oracle JDK, le JavaSoft de la fonction Windows Le registre est supprimé et toute référence à cette bibliothèque JVM est également perdue.

Il existe deux solutions pour résoudre ce problème :

  1. Vous pouvez ajouter manuellement la variable JavaSoft de la clé Windows registre sous Computer\HKEY_LOCAL_MACHINE\SOFTWARE.

    Voici un exemple (avec OpenJDK 1.8_292) de ce que vous devez ajouter :

    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"
    

    Le dossier de chemin d’accès suivant a été ajouté à la variable Path Variable d’environnement.

    C:\Users\perth\Java\openjdk-8u292-b10\bin
    

    Le module Web doit pouvoir démarrer comme prévu :

  2. L’utilisation de deux Windows Les variables d’environnement peuvent être définies pour indiquer où jvm.dll est accessible par le module Web.

    Les variables sont les suivantes :

    • USEENV=1
    • JVMLIBDIR=*the path of the jvm.dll file*

    Voici un exemple :

    Notez que l’utilisation de la variable JVMLIBDIR est visible à partir du journal si la journalisation en mode verbeux est activée sur le module Web.

Sur cette page