Este tutorial irá mostrar como resolver o erro “Failed to load the JNI shared library” durante a inicialização do Spring Tool Suite.
O erro “Failed to load the JNI shared library” geralmente é causado por dois motivos:
Vamos explorar a solução para os dois casos:
A JDK e o STS são disponibilizados em duas arquiteturas, 32 and 64 bits, então a regra é utilizar versões compatíveis, de modo que ambas aplicações sejam 32 bits (em computadores 32 e 64 bits) ou 64 bits (exclusivo para computadores 64 bits). Portanto, caso as versões sejam diferentes, é bem possível que seu ambiente não irá funcionar como esperado.
Para verificar a versão do seu Java, execute o comando abaixo para imprimir a versão exata (64 bits no meu caso) conforme destacado na última linha:
C:\Users\bgasparotto>java -version java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1.8.0_121-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Quanto a versão do Spring Tool Suite, verifique qual versão você baixou do site, mas caso você não tiver certeza, o nome do arquivo segue um padrão onde versões 64 bits incluem x86_64
como parte do nome do arquivo, enquanto que versões 32 bits não incluem esse detalhe. Na imagem abaixo podemos ver que o primeiro arquivo é de uma versão 32 bits, enquanto que o segundo é 64 bits:
O Spring Tool Suite é uma ferramenta baseada no Eclipse, logo, o STS possui um arquivo chamado STS.ini
para configurar sua inicialização de forma semelhante que o Eclipse possui o seu eclipse.ini
. Sendo assim, este arquivo de configuração está presente no mesmo diretório onde encontramos o arquivo STS.exe
, que em sua forma padrão se parece com o seguinte:
-startup plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.550.v20170928-1359 -product org.springsource.sts.ide --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion=1.8 --add-modules=ALL-SYSTEM -Xms40m -Dosgi.module.lock.timeout=10 -Xverify:none -Dorg.eclipse.swt.browser.IEVersion=10001 -Xmx1200m
Com isso, é possível que o caminho da JRE esteja definido de forma errada no arquivo, especificando somente a pasta home do Java ao invés de corretamente especificar o executável do Java javaw.exe
:
... -vm C:\Users\bgasparotto\Documents\Java\jdk1.8.0_121\bin -vmargs ...
Para corrigir isto, adicione a parte que falta conforme descrito acima:
... -vm C:\Users\bgasparotto\Documents\Java\jdk1.8.0_121\bin\javaw.exe -vmargs ...
Agora tudo deve funcionar normalmente.
Por favor, me informe se por algum motivo as soluções acima não funcionaram com você, para que eu possa te ajudar =]
This guide will show you how to create a Python function decorator with a few…
This guide will show you how to fix the error Got permission denied while trying…
This guide will show you how to create a Python virtual environment on Intellij IDEA…
This tutorial will quickly show you how to to find and kill processes on Linux,…
This guide shows a possible solution for Python error Relocation R_X86_64_PC32 against symbol can not…
I condensed below a cheat sheet of Kubernetes useful commands. I will keep updating this…