Errore ACC v7: "JVM-510037 Impossibile trovare la libreria dinamica Java."
Sono disponibili due soluzioni: è possibile aggiungere manualmente la chiave JavaSoft al Registro di sistema di Windows in Computer\HKEY_LOCAL_MACHINE\SOFTWARE oppure è possibile utilizzare due variabili di ambiente di Windows per indicare dove è possibile trovare il file jvm.dll dal modulo Web.
Descrizione description
Ambiente
Adobe Campaign Classic v7 (ACC v7)
Problemi/Sintomi
Caso d'uso - Questo problema si è verificato sostituendo JDK Oracle con JDK aperto nelle istanze Campaign in esecuzione su Windows.
Nel caso di esempio è installato Oracle JDK v1.8.0.191 in tutte le istanze di Windows Campaign. Dopo aver sostituito Oracle JDK con Open JDK in una delle istanze Campaign, il WEB non è stato avviato e ha restituito il seguente errore:
JVM-510037 Cannot find the Java dynamic library. Check that a JDK or a JRE is installed on the machine. (iRc=-53)
Tuttavia, Java viene installato correttamente con le variabili di ambiente Path e JAVA_HOME corrette.
Risoluzione resolution
Per eseguire il modulo web, la libreria dinamica JVM deve essere visibile a Campaign. Rimuovendo il JDK di Oracle, la chiave JavaSoft dal registro di sistema di Windows viene rimossa e vanno perduti anche tutti i riferimenti a tale libreria JVM.
Esistono due soluzioni per risolvere questo problema:
Soluzione #1
È possibile aggiungere manualmente la chiave JavaSoft al Registro di sistema di Windows in Computer\HKEY_LOCAL_MACHINE\SOFTWARE.
Ecco un esempio (con OpenJDK 1.8_292) di ciò che devi aggiungere:
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"
La cartella del percorso seguente è stata aggiunta alla variabile di ambiente Path .
C:\Users\perth\Java\openjdk-8u292-b10\bin
Il modulo web deve essere in grado di avviarsi come previsto:
Soluzione #2
È possibile definire l'utilizzo di due variabili di ambiente Windows per indicare dove è possibile trovare il file jvm.dll dal modulo Web.
Le variabili sono:
USEENV=1JVMLIBDIR=<the path of the jvm.dll file>
Ecco un esempio:
L'utilizzo di JVMLIBDIR sarà visibile dal registro se la registrazione dettagliata è abilitata nel modulo Web.