it-swarm.dev

Falha ao carregar a biblioteca compartilhada JNI (JDK)

Quando tento abrir Eclipse , uma caixa de diálogo pop-up afirma:

Falha ao carregar a biblioteca compartilhada JNI "C: /JDK/bin/client/jvm.dll" `.

Depois disso, a força do Eclipse se fecha.

Aqui estão alguns pontos que gostaria de fazer:

  • Eu verifiquei se existe algo nesse caminho. Existe.
  • Meu Eclipse e Java SE Development Kit são ambos de 64 bits. Eu verifiquei meu sistema e ele pode manipular 64 bits.
  • Eu procurei por esse problema no Google e no Stack Overflow, e a única resposta que encontrei foi baixar as versões de 32 bits do JDK e do Eclipse.

Baixando as versões de 32 bits é algo que eu só quero fazer como último recurso.
O que seria sugerido para resolver este problema?

898
Mxyk

Você precisa de um trio de 64 bits:

  • SO de 64 bits
  • Java de 64 bits
  • Eclipse de 64 bits
832
Peter Rader

Pareamentos de trabalho do sistema operacional, JDK e Eclipse:


  • SO de 32 bits - JDK de 32 bits - Eclipse de 32 bits (apenas 32 bits)
  • OS de 64 bits - JDK de 32 bits - Eclipse de 32 bits
  • Sistema operacional de 64 bits - JDK de 64 bits - Eclipse de 64 bits (somente 64 bits)

Eu tinha vários JDKs e JREs instalados.

Cada um deles tinha sua própria entrada na variável PATH, tudo estava funcionando mais ou menos.

A julgar pelas variáveis ​​do PATH, algumas instalações foram completamente inúteis, uma vez que nunca foram utilizadas. É claro que os Javas "inativos" poderiam ser referenciados manualmente a partir do Eclipse se eu precisasse, mas eu nunca fiz isso, então eu realmente não precisava deles. (Pelo menos eu pensei assim naquele momento ...)

Limpei a bagunça, desinstalei todos os Java atuais, instalei apenas o JDK + JRE 1.7 de 64 bits.

Uma das 'instalações' do Eclipse falhou depois com o Failed to Load the JNI shared Library e um determinado caminho relativo ao novo JDK instalado, onde ele achava que o jvm.dll estava.

O Eclipse com falha foi o único de todos os IDEs que ainda era uma versão de 32 bits em minha configuração de 64 bits.

Adicionando argumentos VM, como tantas vezes mencionado, no Eclipse.ini não foi usado no meu caso (porque eu tinha apenas o JDK/JRE errado para se relacionar).

Também não consegui descobrir como verificar se esse Eclipse era uma versão de 32 ou 64 bits (não consegui procurar no Gerenciador de Tarefas , já que essa 'instalação' do Eclipse não E como já fazia um tempo desde que eu tinha configurado, eu também não conseguia lembrar sua versão.)

No caso de você usar um JDK mais recente e um mais antigo JRE você pode estar em apuros, também, mas então é mais provável que um Java.lang.UnsupportedClassVersionError apareça, IIRC .

304
sjas

Certifique-se de que seu arquivo Eclipse.ini inclua as seguintes linhas.

-vm
C:\path\to\64bit\Java\bin\javaw.exe

Meu Eclipse.ini por exemplo:

-startup
plugins/org.Eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.Eclipse.equinox.launcher.win32.win32.x86_64_1.1.2.R36x_v20101222
-product
org.Eclipse.epp.package.Java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.Eclipse.platform
-vm
C:\Program Files\Java\jdk1.6.0_32\bin\javaw.exe
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m

Use o OS e o Eclipse, ambos de 64 bits ou ambos, 32 bit keep same e config Eclipse.ini.

Seu arquivo Eclipse.ini pode ser encontrado em sua pasta Eclipse.

258
jayesh kavathiya

Eu tive o mesmo problema

Eu resolvi isso instalando a JVM de 64 bits

http://www.Java.com/en/download/manual.jsp

58
Farm

Esse erro significa que a arquitetura do Eclipse não corresponde à arquitetura do tempo de execução Java, ou seja, se uma for de 32 bits, a outra deverá ser a mesma e não a de 64 bits.

A correção mais confiável é especificar o local da JVM no Eclipse.ini:

-vm
C:\Program Files (x86)\Java\jdk1.7.0_55\bin\javaw.exe

Importante: Essas duas linhas devem vir antes -vmargs. Não use citações; espaços são permitidos.

39
Peter Tseng

Outra opção é:

Crie um atalho para o Eclipse.exe. Abra o atalho e altere o alvo para:

"C:\Program Files\Eclipse\eclipse.exe" -vm "c:\Program Files\Java\jdk1.7.0_04\bin\javaw.exe"

Para sua instalação, certifique-se de que os locais apontem para o diretório de instalação correto do Eclipse e o diretório de instalação javaw.exe correto.

(As versões de 64/32 bits do Eclipse e do Java precisam ser as mesmas, é claro).

33
spannow

Tenho várias versões do Java instaladas, tanto o Sun JDK quanto o JRockit, tanto em 32 quanto em 64 bits, etc. e corri para esse problema com uma nova instalação do Eclipse para Java EE (JUNO) de 64 bits.

O que fez NÃO trabalho:

Trio de 64 bits como sugerido por Peter Rader:

Estou usando o Eclipse de 64 bits no sistema operacional de 64 bits (Windows 7).

Assegurei que o Sun JDK 7 de 64 bits era a versão padrão do Java. Quando eu digitei "Java -version" da linha de comando (cmd.exe), o Sun JDK 7 de 64 bits foi retornado ...

Java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

Isso não resolveu o problema para mim.

O que FEZ trabalho:

Adicionando a opção -vm ao Eclipse.ini, conforme sugerido por Jayesh Kavathiya:

Eu adicionei o seguinte ao Eclipse.ini:

-vm
C:/apps/Java/jdk7-64bit/bin/javaw.exe

Nota:

Eu não tive que desinstalar qualquer uma das várias versões do JDK ou JRE que tenho na minha máquina.

30
Sunny Sarkar

Para um arquivo jvm.dll ausente, podemos fornecer o caminho do arquivo dll no arquivo Eclipse.ini como

-vm
C:\Progra~1\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

Aqui é importante remover qualquer espaço no caminho e as aspas duplas. Funcionou para mim quando eu removi as citações e o espaço.

Eu espero que isso ajude alguém.

18
Stalin Gino

Eu tive um problema parecido. Foi resolvido fazendo o seguinte.

  • Mova o Eclipse para Arquivos de Programas (não para Arquivos de Programas (x86)).
  • Remova o caminho para a versão de 32 bits do Java da variável de ambiente 'path'.

Eu tenho as duas versões do Java instaladas, mas o Eclipse continuou tentando usar o de 32 bits.

11
misterfrb

Claro, você precisa ter uma versão compatível do JDK e do Eclipse, mas também precisa adicionar no arquivo Eclipse.ini as linhas abaixo:

-vm
yourdrive\Java\bin

Faça as duas primeiras linhas do seu arquivo Eclipse.ini.

10
Deepak Tyagi

Como muitas pessoas já mencionaram, este é um problema de 32 vs. 64 bits para ambos Eclipse e Java . Você não pode misturar 32 e 64 bits. Como o Eclipse não usa Java_HOME, você provavelmente terá que alterar seu PATH antes de iniciar o Eclipse para garantir que esteja usando não apenas a versão apropriada do Java, mas também 32 ou 64 bits (ou modifique o INI arquivo como Jayath observou).

Se você estiver instalando o Eclipse a partir de um compartilhamento de empresa, certifique-se de informar qual versão do Eclipse está descompactando e descompactar para o diretório Program Files apropriado para ajudar a controlar qual é qual, em seguida, alterar o PATH (permanentemente via (Windows) Painel de Controle -> Sistema ou set PATH=/path/to/32 or 64bit/Java/bin;%PATH% (talvez crie um arquivo de lote se você não quiser configurá-lo em seu sistema e/ou variáveis ​​de ambiente do usuário) .Lembre-se, 32-bit está em Arquivos de programa (x86).

Se não tiver certeza, basta iniciar o Eclipse, se você receber o erro, altere seu PATH para a outra versão 'bit' do Java e tente novamente. Em seguida, mova o diretório Eclipse para o diretório Program Files apropriado.

8
Marc Towersap

Como alternativa, obtenha a mesma versão "bit" de JRE e Eclipse e, em seguida, crie um novo atalho com o destino abaixo (substitua o local/caminho do JRE e do Eclipse instalados):

"C:\studio\Eclipse.exe" -vm "C:\Program Files\Java\jre7\bin\server\jvm.dll" Eclipse.vm="C:\Program Files\Java\jre7\bin\server\jvm.dll" Java.home="C:\Program Files\Java\jre7" Java.runtime.version=1.7.0

Isso deve fazer o truque.

7
Kevin Yap

Você pode resolver esse problema como muitos outros replicados. Você precisa disso Eclipse e JDK = 32 bits ou ambos em 64 bits . A arquitetura do sistema operacional não importa, enquanto os outros permanecem no mesmo tipo de arquitetura.

7
Ignacio

As respostas acima de mim me deixaram tão tentada, que decidi secar e executar todas as combinações possíveis com OS, Eclipse e JVM trio. De qualquer forma, quem está desenterrando e lendo o meu post, verifique o seguinte como um hot spot (eu sou usuário do Windows 7).

  1. Você entende Arquivos de Programas e Arquivos de Programas (x86) são duas pastas diferentes ... x86 significa a versão de 32 bits dos programas e a primeira é a versão de 64 bits.

  2. Se você tem várias versões de Java instaladas com diferentes versões de bits e versões, o que provavelmente acontecerá com tantos gerenciadores de código aberto IDEs , administradores, a melhor opção é para definir o argumento VM diretamente no arquivo Eclipse.ini. Se você não fizer isso, o Eclipse vai enlouquecer e tente pesquisar por si mesmo, o que não é bom.

6
sayannayas

Uma das maneiras fáceis de resolvê-lo é copiar a pasta jre do JDK instalado para a pasta de instalação do Eclipse. Certifique-se de que o JDK do qual você copia seja a mesma arquitetura de sua instalação do Eclipse.

Eu tive que configurar minha máquina dessa maneira, porque eu executo o Eclipse e Appcelerator Titanium Studio na minha máquina. O Studio precisa de Java de 32 bits, enquanto o Eclipse precisa de 64 bits.

6
Mike Starov

Basta verificar a variável de ambiente PATH. Em Meu Computador -> Propriedades -> Sistema Avançado configurações -> Variáveis ​​de Ambiente -> (janela superior esquerda " Variáveis ​​de usuário para "algum nome do PC" ") apenas verifique a variável PATH. Se não existir, crie-o com o seguinte -> C:\Arquivos de Programas (x86)\Java\jre7\bin <-

Eu fui confrontado com o mesmo problema depois de ter atualizado o meu Eclipse. Eu encontrei que o caminho pedia a versão de 64 bits, mas eu tinha o caminho de 32 bits no dif. Foi útil para mim. P.S .: Eu tenho um sistema operacional de 64 bits, um JRE de 32 bits e um Eclipse de 32 bits. Tudo funciona bem :)

5
user1600401

Sim, apenas certifique-se de que suas versões do Eclipse e JDK sejam ambas de 64 bits. Apenas para ter certeza de que tudo está correto, o JDK foi desinstalado e instalado em Arquivos de Programas e não em Arquivos de Programas (x86) . Pelo menos isso resolveu meu problema.

5
Jeena

Você deve desinstalar todos os antigos [JREs] [1] e depois instalar o mais novo ... Eu tive o mesmo problema e agora resolvo. Eu tenho:

Melhor instalar o Jre 6 32 bit. Realmente funciona.

5
Marcin Erbel

Eu tive o mesmo problema após a atualização do Java 6 para o Java 7. Depois que eu removi o Java 6 (64 bits) e reinstalei o Java 7 (64 bits), o Eclipse funcionou. :)

4
Supun Sameera

Obrigado misterfrb , percebi que o Eclipse estava dando esse erro, porque eu tinha acabado de instalar Oracle 10g Developer suite , e estava procurando o arquivo jvm.dll na pasta C:\DevSuiteHome_1 (devo ter optado por instalar o JDK novamente junto com o conjunto de desenvolvedores).

Depois de remover as linhas DevSuiteHome da variável paths e adicionar o local de correção para jvm.dll de 64 bits (não tenho certeza se isso foi necessário, não tentei sem), o Eclipse funcionou novamente, e o Developer Suite também continua.

4
Unegma

Descarreguei a JVM de 64 bits do site e instalei-a manualmente e atualizei a variável de caminho do sistema. Isso resolveu o problema.

  1. JVM padrão está instalado no meu sistema estava em "C:\Arquivos de Programas
    (x86)\Java\jre7 "
  2. A JVM instalada manualmente foi instalada em "C:\Arquivos de Programas\Java\jre7" e depois de atualizar essa pasta para a variável de caminho do sistema, funcionou.
4
Satya

Simples, eu tenho um sistema operacional de 64 bits, 32 bits Eclipse e ambos JDK 32 e 64 instalado ... Eu apenas desinstalei o JDK de 64 bits e o Eclipse está funcionando bem ..

4
PushkarHJoshi

Eu quero previr outra solução para esse erro, especialmente para quem deseja usar o Eclipse de 32 bits e 64 bits em um sistema.

O Eclipse será inicializado usando o JRE/JDK no subdiretório jre, se existir. (STS ou outro baseado no Eclipse IDE também suporta esse recurso ...)

A solução é criar junção de diretório usando o comando mklink.exe que existem no Windows Vista ou na versão mais recente ( junction.exe oferecem função semelhante para o Windows 2000/XP)
Abra as janelas da linha de comando e execute o seguinte comando:

mklink/j "$ Eclipse-HOME/jre" "$ JDK_or_JRE_home"

Obviamente, se o Eclipse for para o Windows de 64 bits, a arquitetura de JDK/JRE deverá ser a mesma.

Assumir:

  • Eclipse for windows x86_64 está instalado em d:\devTool\Eclipse
  • JDK for windows x64 está instalado em C:\Arquivos de Programas\Java\jdk1.8.0

O comando para criar a pasta jre será:

mklink/j "d:\devtool\Eclipse\jre" "C:\Arquivos de programas\Java\jdk1.8.0"

BTW, delete directory join NOT delete qualquer arquivo. Se você criar um link errado, poderá excluí-lo usando o comando file Explorer ou rmdir.

rmdir "d:\devTool\Eclipse\jre"

3
Beck Yang

É crucial adicionar o parâmetro -vm e seu valor em 2 linhas AT O PRINCÍPIO do Eclipse.ini

-vm C:\Arquivos de programas\Java\jdk1.7.0_45\bin\javaw.exe

3
Rolf

Certifique-se de estar iniciando o Eclipse com direitos de administrador.

3
Here to Help

Você alterou a versão apropriada do Java_HOME e do PATH em variáveis ​​ambientais.

2
Sreedhar GS

Na página de download do Eclipse, deve ser escrito "JRE 32 bits" ou "JRE 64 bits" e não "Windows 32 bits" ou "Windows 64 bits".

Certifique-se de usar a versão correta compatível com seu JDE, conforme respondido anteriormente.

2
A_rnO

Você pode instalar a versão de 32 bits de JDK em uma máquina de 64 bits. Veja JDK 7 downloads.

2
Rahul Raghuvanshi

Se você usa todo o trio de 64 bits e ele ainda não funciona (eu cheguei a este problema ao iniciar o Android Monitor no Intellij Idea), provavelmente jvm.dll errado está sendo usado em oposição ao que seu Java espera. Basta seguir estes passos:

  1. Encontre o jvm.dll no seu diretório JRE: C:\Program Files\Java\jre7\server\bin\jvm.dll

  2. Encontre o jvm.dll no seu diretório JDK: c:\Program Files\Java\jdk1.7.0_xx\jre\bin\server\

  3. Copie o jvm.dll do drectory do JRE para o seu diretório JDK e sobrescreva o jvm.dll no JDK.

Não se esqueça de fazer um backup, apenas no caso. Não há necessidade de instalar ou desinstalar qualquer coisa relacionada ao Java.

2
rootpd

O mesmo ocorreu comigo. Eu tinha o Eclipse de 64 bits, mas meu JDK era de 32 bits. Então eu instalei a versão de 64 bits e está tudo bem agora.

2
felipe.zkn

Eu não tenho certeza porque, mas eu tinha o jre instalado no meu diretório c:\windows e Java.exe e javaw.exe dentro do meu diretório windows\system32.

Obviamente, esses diretórios estavam recebendo prioridade mesmo depois de adicionar o sinalizador -vm ao meu arquivo Eclipse.ini.

Exclui-los daqui corrigiu o problema para mim.

2
Guy Lowe

E para PDT users - evite o página de download do Zend - ele não tem quaisquer downloads de 64 bits vinculados.

Use o próprio site da Elipse .

O link acima tinha um Eclipse 3.6 mais antigo que não foi atualizado devido a Eclipse Bug # 317785 .

Minha solução foi instalar o Java de 32 bits junto com o de 64 bits - isso permitiu que o instalador Zend funcionasse.

É deprimente essa quantidade de Java/Eclipse que a pessoa tem que percorrer para obter um PHP IDE.

2
cloakedninjas

No meu caso, tentei iniciar o Java a partir do comando Prompt e recebi este erro

Erro: não foi possível abrir "C:\Windows\jre\lib\AMD64\jvm.cfg"

Isso significava que "Java" era procurado no PATH, começando neste diretório errado. Excluindo a pasta C:\Windows\jre\resolveu o problema

1
Federico Giorgi

Eu experimentei todos os erros do Eclipse e este é um deles. O problema é a versão do Eclipse de 64 bits. Baixe a versão de 32 bits e inicie-a.

0
sadegh saati

A solução mais fácil é incluir um JRE específico no Eclipse.ini:

wiki.Eclipse.org/Eclipse.ini

Com isso, você pode iniciar praticamente qualquer versão do Eclipse

0
keesp

Eu tive o mesmo problema. com 64 bits todos devem ser 64 bits. Java e Eclipse. Eu tentei todos os métodos em stackoverflow e também no youtube. nenhum deles funcionou para mim até que eu encontrei este método fácil.

Eu instalei o download de Cnet de formulário Java de 64 bits e o problema foi corrigido automaticamente. Eu mencionei a fonte porque é muito fácil para o google e ir para o primeiro fiapo Cnet, em vez de site oficial, se você é uma nova abelha.

p.s. Se você tiver o pacote Android ADT e tentar abrir o Eclipse a partir dele e tiver o mesmo erro, poderá corrigir o problema também com esse método.

0
Priyankara

Este erro estamos recebendo por causa da versão de 32 bits do download da versão Java diferente.

0
vaquar khan

Instalar o JDK 1.8._91 (modo misto) é outra solução para isso!

0
HaryTD