Erro do ACC v7: "JVM-510037 Não é possível encontrar a biblioteca dinâmica Java."
Há duas soluções: você pode adicionar manualmente a chave JavaSoft ao registro do Windows em Computer\HKEY_LOCAL_MACHINE\SOFTWARE
ou pode usar duas variáveis de ambiente do Windows que podem ser definidas para indicar onde o arquivo jvm.dll
pode ser encontrado pelo módulo Web.
Descrição description
Ambiente
Adobe Campaign Classic v7 (ACC v7)
Problemas/Sintomas
Caso de uso - Esse problema ocorreu ao substituir o JDK do Oracle pelo Open JDK em instâncias do Campaign em execução no Windows.
O caso de exemplo tinha o Oracle JDK v1.8.0.191 instalado em todas as instâncias do Windows Campaign. Depois de substituir o JDK do Oracle pelo Open JDK em uma de suas instâncias do Campaign, a WEB não foi iniciada e apresentou o seguinte erro:
JVM-510037 Cannot find the Java dynamic library. Check that a JDK or a JRE is installed on the machine. (iRc=-53)
No entanto, o Java é instalado corretamente com as variáveis de ambiente Caminho e JAVA_HOME corretas.
Resolução resolution
Para executar o módulo Web, a biblioteca dinâmica JVM deve estar visível para o Campaign. Ao remover o JDK do Oracle, a chave JavaSoft do registro do Windows é removida e qualquer referência a essa biblioteca JVM também é perdida.
Há duas soluções para resolver esse problema:
Solução #1
Você pode adicionar manualmente a chave JavaSoft ao registro do Windows em Computer\HKEY_LOCAL_MACHINE\SOFTWARE
.
Este é um exemplo (com OpenJDK 1.8_292
) do que você precisa adicionar:
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"
E a seguinte pasta de caminho foi adicionada à variável de ambiente Path
.
C:\Users\perth\Java\openjdk-8u292-b10\bin
O módulo Web deve ser capaz de iniciar conforme esperado:
Solução #2
O uso de duas variáveis de ambiente do Windows pode ser definido para indicar onde o arquivo jvm.dll
pode ser encontrado pelo módulo Web.
As variáveis são:
USEENV=1
JVMLIBDIR=<the path of the jvm.dll file>
Veja um exemplo:
Observe que o uso do JVMLIBDIR
estará visível no log se o log detalhado estiver habilitado no módulo Web.