Erro do Eclipse: 'Falha ao criar a Java Virtual Machine'


211

Estou recebendo essa mensagem de erro quando inicio o Eclipse Helios no Windows 7:

Falha ao criar a Java Virtual Machine

Digite a descrição da imagem aqui

Meu eclipse.ini tem a seguinte aparência:

-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-vm
P:\Programs\jdk1.6\bin
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms120m
-Xmn100m
-Xmx1024m

Meu JAVA_HOME está definido corretamente, tanto quanto eu posso dizer. Como posso consertar isso?

Coisas que tentei até agora:

  1. Adicionando o caminho completo ao javaw.exe -vm P:\Programs\jdk1.6\bin\\bin\javaw.exe
  2. Removendo o -vm opção completamente
  3. Removendo --launcher.XXMaxPermSize corrige o problema, mas causa erros de permgen
  4. Removendo o valor 512de--launcher.XXMaxPermSize corrige o problema, mas causa erros de permgen
  5. Reduzir -Xmxpara 512mtambém corrige o problema.

Por que não posso usar '1024m' para '-Xmx' e '--launcher.XXMaxPermSize'?


18
Isso significa que a jvm não pode alocar o espaço de memória necessário (1024 + 512) no seu computador.
— Kane

Então, só para confirmar, entendi isso corretamente. A JVM alocará a quantidade de memória especificada por (XXMaxPermSize + Xmx)
— Maro

2
Ele não cria imediatamente a memória com tamanho máximo de heap (especificado por -Xmx) ao iniciar o vm. Mas isso garantiria a capacidade de criar o tamanho máximo de heap em tempo de execução ao iniciar o vm. Caso contrário, o vm não pode ser criado.
— Kane

Não sei por que, mas na minha máquina o Eclipse só tem esse problema quando o Dragon NaturallySpeaking está em execução. A solução de RonQi funcionou para mim.
— Rob

@rob: Isso é provavelmente porque o Dragon usa muita memória. A causa desse problema parece ser que a JVM não pode alocar memória suficiente.
— Stijn de Witt

Respostas:


80

Tente remover as -vm P:\Programs\jdk1.6\binlinhas.


Além disso, uma recomendação geral: set -Dosgi.requiredJavaVersion=1.6, not 1.5.


52
no eclipse.ini, alterar a redução de -Xmx para 512m a partir de 1024 corrigiu o problema para mim. O sistema estava com 1 GB de RAM.
— Dexter

3
@dexter, obrigado, ele trabalhou para mim, diminuindo Xmx
— danisupr4

para macos eclipse-2020, adicione: "- vm" "/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java" abaixo "--launcher.appendVmargs" em eclipse.ini.
— clark yu

283

1. Abra o eclipse.iniarquivo da sua pasta eclipse, veja a figura abaixo.

eclipse.ini

2. Abra eclipse.iniem Notepadou qualquer outro text-editoraplicativo, localize a linha -Xmx256m(ou -Xmx1024m). Agora altere o valor padrão 256m(ou 1024m) para 512m. Você também precisa fornecer a versão exata do java instalada (1.6 ou 1.7 ou outra).

tamanho máximo

Como isso:

-Xmx512m
-Dosgi.requiredJavaVersion=1.6

OU

-Xmx512m
-Dosgi.requiredJavaVersion=1.7

OU

-Xmx512m
-Dosgi.requiredJavaVersion=1.8

Então funciona bem para mim.


8
Isso funcionará apenas se o problema não tiver memória suficiente e se você abaixar os valores no eclipse.ini. Criá-los apenas tornará mais provável a ocorrência desse problema.
— Stijn de Witt

2
Obrigado yar, aumentei esse valor e funcionou bem, acho que aconteceu porque atualizei o JDK.
— Pervez Alam

1
Isso realmente funcionou para mim também - NB: o ewclipse parou de funcionar - eu tinha me -Xmx1024mvoltado Xmx512me trabalhado. Aparentemente, não havia memória suficiente (?)
— Mr_and_Mrs_D 31/01

No meu caso, não funcionou na alteração do valor para 512 de 1024, mas quando o alterei novamente para o valor anterior, ou seja, 1024, ele funcionou.
— TaRan LaYal

1
Uau .. No Eclipse Mars, mudei de -Xmx1024m para -Xmx512m e funcionou!
— Umesh Patil

111

Tente adicionar

-vm
D:\Java\jdk1.6.0_29\bin\javaw.exe

FYI: Consulte o sunblog

Para outras pessoas que possam ter problemas com o Java 7, de acordo com a Wiki do Eclipse - eclipse.ini vm_value (exemplo do Windows)

Isso pode não funcionar em todos os sistemas. Se você encontrar o erro "Java foi iniciado, mas retornou o código de saída = 1" ao iniciar o eclipse, modifique o argumento -vm para apontar para jvm.dll

por exemplo

-vm
C:\Program Files\Java\jre7\bin\client\jvm.dll

Observe também que

A opção -vm deve ocorrer antes da opção -vmargs, pois tudo após -vmargs é passado diretamente para a JVM


Isso funciona muito bem, mas eu prefiro usar -vm C: \ Arquivos de Programas (x86) \ Java \ jre6 \ bin \ javaw.exe, pois o caminho do JRE provavelmente permanecerá estável, especialmente se você estiver compartilhando uma única instalação do Eclipse várias máquinas / VMs.
— rob

ele trabalhou para mim, mas durante o carregamento eclipse está sendo enforcado em org.eclipse.debug.core
— Rahul Razdan

5
+1 estava faltando a parte do pedido. Todos os outros lugares na rede eles falam sobre o argumento -vm mas se esquecem de dizer que deve ocorrer antes -vmargs
— demongolem

Eu estava enfrentando o mesmo problema ao instalar o Android SDK com eclipse e isso foi corrigido. Obrigado !
— Codscientist

Para registro, estou usando o Windows 7 Home Premium e o servidor JVM 1.8.0_05, o segundo método, apontando para a dll que funcionou para mim, o primeiro método não.
— Ironluca 18/03/19

26

Eu sei que isso é muito antigo agora, mas acabei de ter o mesmo problema e o problema era que eu estava alocando muita memória para eclipsar que ela não conseguia se apossar. Portanto, abra eclipse.ini e reduza a quantidade de memória que está sendo alocada para -Xmx XXMaxPermSizeeu mudei a minha para -Xmx512meXXMaxPermSize256m


Isso está em uma máquina de 32 bits? Porque eu acredito que há um limite para a quantidade de memória que você pode usar no Windows de 32 bits
— Maro

@Maro Sim, foi. Olhando para ser atualizado para 64 bits.
— Popeye

1
Trabalhou para mim, substituiu 768m por 512m no parâmetro -Xmx.
— Tartaque

Estou em uma máquina de 64 bits com 8 GB de memória, mas ainda estou usando -Xmx = 768m em combinação com -XX: PermSize = 256m e -XX: MaxPermSize = 512m provou ser demais. Como é um Java de 32 bits, pode usar 'apenas' 4 GB, mas o máximo parece ser muito menor na prática. Eu esperaria que isso precisasse de 1024m para iniciar e 1280m no máximo ...
— Stijn de Witt

Obrigado Estou certo de que o mudei para 1024 há alguns meses para solucionar o problema. A resposta real para esta pergunta é mudar para o Android Studio, é muito melhor. Só voltei ao Eclipse porque não havia migrado um dos meus aplicativos mais antigos e precisava fazer alguma coisa.
— Ryan Heitner

18
  1. Abra o eclipse.iniarquivo da sua pasta eclipse.

  2. Ele tem algumas configurações adicionais. Encontre a linha –launcher.XXMaxPermSize. Agora remova o valor padrão 256m e salve-o.


18

Eu removi o eclipse.ini . Encontrei esse problema e a remoção do arquivo ini o solucionou.


12
  1. Abra a pasta com o Eclipse.exe e localize o arquivo eclipse.ini
  2. Substituir -vmargs pelo caminho real atual de javaw.exe: * -vm “c: \ Arquivos de Programas \ Java \ jdk1.7.0_07 \ bin \ javaw.exe” *

    -startup
    plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
    -product
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256M
    -showsplash
    com.android.ide.eclipse.adt.package.product
    --launcher.XXMaxPermSize
    256m
    --launcher.defaultAction
    openFile
    **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** 
    -Dosgi.requiredJavaVersion=1.6
    -Xms40m
    -Xmx768m
    -Declipse.buildId=v21.1.0-569685
    

9

Você também pode resolver esse problema removendo o valor "256m" na linha "-launcher.XXMaxPermSize".


Trabalhou para mim. Embora mesmo com esse valor lá, ele funcionava muito bem após o Logoff do Windows e o Logon.
— Amar

9

Encontrei uma solução muito fácil para isso. Basta excluireclipse.ini arquivo, mas faça o backup primeiro. Eu tive esse mesmo problema muitas vezes e, finalmente, excluí-o e não tenho mais o problema.

Também aumentou o tempo de carregamento. Agora, meu Eclipse começa mais rápido que antes.


Depois de eliminar o eclipse.ini , eu estou recebendo este erro, quando tentou iniciar Eclipse => o eclipse executar lançador não conseguiu localizar seu companheiro biblioteca compartilhada
— NIKHIL chaurasia

impressionante! Eu tentei tantas etapas para editar o arquivo ini. mas esta resposta é ótima. funciona. Felicidades!
— borda

7

No STS.confarquivo, você precisa verificar duas coisas importantes para evitar a criação / alocação do problema da jvm

1. Forneça o local exato da instalação do jdk:

--vm C:\Program Files\Java\jdk1.7.0_01\jre\bin\javaw.exe

2. Você precisa fornecer a versão exata do java instalada:

--Dosgi.requiredJavaVersion=1.7

3. Tente reduzir o tamanho da memória:

--XX:MaxPermSize=256m

7
  1. Abra o arquivo ecplise.ini, localizado na pasta de instalação do eclipse.

  2. Localize e substitua a linha -vmargs por -vm D: \ jdk1.6.0_23 \ bin \ javaw.exe OU apenas remova a linha -vmargs e salve-a. Agora o problema está sendo resolvido


2
Graças @Rajas basta remover o -vmargs linha e salve ele trabalhou para mim
— Bernauer

5

Depois de tentar a solução acima para reduzir a memória, o Eclipse começa a funcionar, mas trava sempre que carrega os plug-ins do espaço de trabalho, especialmente em org.eclipse.debug.core.

Encontrei a solução aqui, o Eclipse trava na tela inicial e deseja compartilhá-la. Espero que possa ajudar os outros também.


ao contrário de qualquer outra coisa que tentei na última hora, ISTO funcionou, obrigado!
— Justin T.

Link morto, alguma chance de você ter outro?
— Adam Parkin

4

Verifique se o eclipse.ini não possui entrada múltipla e usou a entrada vm antes do vmargs:

-vm
  D:/java/jdk1.8.0_65/bin/javaw.exe
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m

3

Tente este:

-startup plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar 
--launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222 
-showsplash org.eclipse.platform 
--launcher.XXMaxPermSize 256m 
--launcher.defaultAction openFile 
-vm F:\Program Files\jdk1.6\bin\javaw.exe 
-vmargs 
-Xms512m 
-Xmx512m 
-XX:+UseParallelGC 
-XX:PermSize=256M 
-XX:MaxPermSize=512M

3

Conserto rápido:

Mude -Xmx1024mpara -Xmx512mem eclipse.ini (arquivo localizado no mesmo nível em que eclipse.exeestá presente). E vai funcionar como um encanto.


3

A maneira simples de corrigir esse problema é apenas excluir ou renomear seu arquivo eclipse.ini . Experimente primeiro. Se esse método não resolver o problema, tente as soluções descritas abaixo.

Outras maneiras de corrigi-lo:

Solução 1

Inclua uma sequência no arquivo eclipse.ini que altere o destino do javaw.exearquivo. O principal é que essa string deve ser colocada acima da string "-vmargs"!

-vm
C:\Program Files\Java\jdk1.6.0_22\bin\javaw.exe 

Solução 2

Remova o valor de –launcher.XXMaxPermSize, como 256m .

Solução 3

Remova ou diminua os valores de Xms e Xmx:

-Xms384m 
-Xmx384m

3

Isso pode funcionar:

Abra o eclipse.iniarquivo e cole as linhas abaixo no final das linhas.

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m

3

Depois de adicionar -vm no eclipse.ini, como mostrado abaixo, funcionou para mim. Adicione-o antes de -vmargsnão removê-lo

-vm
C:\apps\Java\jdk1.8.0_92\bin\javaw.exe
-vmargs

Houve uma atualização do jdk que estava causando esse problema.


2

Isso funcionou para mim:

Fechei todos os outros aplicativos que consomem muita memória na minha máquina Windows 7. E eu tentei abrir o Eclipse e, voila, funcionou.


2

Algum tempo não é o seu eclipse.ini ; é o seu JDK que está travado. Você pode verificá-lo escrevendo o seguinte comando em um prompt de comando:

c:\> java -version

Se este comando mostrar o seguinte erro:

Error occurred during initialization of VM

java/lang/NoClassDefFoundError: java/lang/Object

Em seguida, desinstale o JDK e reinstale-o.

O Eclipse estará em ação novamente;) Como hoje eu tenho o mesmo problema, e o acima é sugerido por Itachi Uchiha .


2

Enfrentou o problema quando meu próton Eclipse não pôde iniciar. Erro "Falha ao criar a máquina virtual Java"

Adicionado abaixo ao arquivo eclipse.ini

-vm
C:\Program Files\Java\jdk-10.0.1\bin\javaw.exe

1

A adição deste problema corrigiu o problema para mim:

-vm

D:\Java\jdk1.6.0_29\bin\javaw.exe

1

Reduzir o tamanho do parâmetro até -256

Veja meu arquivo eclipse.ini

    -startup
   plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
   --launcher.library
  plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
  -product
   org.eclipse.epp.package.jee.product
   --launcher.defaultAction
   openFile
   --launcher.XXMaxPermSize
   256M
  -showsplash
   org.eclipse.platform
   --launcher.XXMaxPermSize
   256M
  --launcher.defaultAction
  openFile
  -vmargs
  -Dosgi.requiredJavaVersion=1.6
  -Xms40m
  -Xmx512m

1

A solução adequada para o seu problema é adicionar a linha -vm apontando para o arquivo jvm.dll da sua pasta Java.

-vm
C:\Program Files\Java\jre1.8.0_202\bin\server\jvm.dll
/*there is no dquote for path, and path points to right java version folder mentioned in ini file*/

Se a correção acima não for proveitosa, não tente mais nada. A maioria dos conselhos deste segmento é equivocada. Alguns desses hacks podem funcionar temporariamente ou em determinadas configurações de máquina, mas o conteúdo do eclipse.ini não é trivial nem arbitrário. Para a referência oficial, consulte esta [página wiki]: https://wiki.eclipse.org/Eclipse.ini#Specifying_the_JVM que explica o conteúdo do arquivo. Observe também os links Consulte também na parte inferior da página para obter mais detalhes sobre itens como tamanho de heap, etc. NÃO exclua eclipse.ini, NUNCA. Também é desaconselhável remover as opções -vm ou Xmx. Se fizer isso, você está pedindo problemas.

Aqui estão as referências da página wiki referentes ao seu problema:

Referência_1

Referência_2


1
uma caneca simples mas importante de mencionar: -vmdeve ser colocada antes da -vmargs opção no eclipse.ini.
— Woodz

0

Para mim, isso foi resolvido alterando o caminho do bin JDK na variável de ambiente Path. Coloque o caminho do bin JDK que possui jre / bin / client / jvm.dll em JDK home.


0

PASSOS PARA RESOLVER A QUESTÃO: -

  1. Abra o arquivo eclipse.ini da sua pasta eclipse.

  2. Ele tem algumas configurações adicionais. Localize a linha –launcher.XXMaxPermSize.É a última linha deste arquivo. Agora remova / exclua o valor padrão 256m e salve-o.



0

Eu estava enfrentando o mesmo problema e encontrei a solução. Há problemas na alocação de MaxPermSize. Se você tentar alocar mais do que o espaço livre da sua máquina, esse erro ocorrerá no meu problema. Portanto, tente reduzir o MaxPermSize.

Penso que o ajudará a resolver o seu problema.


0

Todas essas soluções falharam comigo. Isso aconteceu comigo do nada depois de usar o Eclipse por seis meses. Parece que de alguma forma meu JDK foi corrompido.

Minha solução final foi fazer o download de um JDK mais recente e atualizar meu JAVA_HOME de acordo com o jdk1.6.0_37 para o jdk1.6.0_43 no meu caso.


0

@Aro Para mim, funcionou de forma muito simples!

Depois de receber o alerta da mensagem de erro, executei 'eclipse c .exe' em um prompt de comando. Isso abriu o Eclipse. Então, novamente, tentei com 'eclipse.exe' e agora está funcionando muito bem.

Infelizmente, não deu nenhuma razão técnica para isso.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.