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.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f