Skip to content

Spring Tool Suite: Failed to load the JNI shared library

Last Updated on 27/12/2023

Este tutorial irá mostrar como resolver o erro “Failed to load the JNI shared library” durante a inicialização do Spring Tool Suite.

spring tool suite failed to load the jni shared library error

O erro “Failed to load the JNI shared library” geralmente é causado por dois motivos:

  1. O tipo de arquitetura (32 ou 64 bits) entre seu Java e seu Spring Tool Suite são incompatíveis;
  2. Seu STS.ini está apontando para o diretório home do Java ao invés de apontar para o executável do Java.

Vamos explorar a solução para os dois casos:

Tipo de arquitetura (32 ou 64 bits) incompatível

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:

Spring Tool Suite architecture versions

STS.ini não apontando para o executável do Java

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 =]

Referências

Leave a Reply

Your email address will not be published. Required fields are marked *