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'?

Maro
fonte
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.

Matt Ball
fonte
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.

Akhil Jain
fonte
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

RonQi
fonte
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

Popeye
fonte
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.

Furqi
fonte
18

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

Monnster
fonte
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
    
A Garhy
fonte
9

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

Yasir Ali
fonte
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.

user3739970
fonte
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
rajachinnappan
fonte
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

Rajas
fonte
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.

Rahul Razdan
fonte
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
[email protected]/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms256m
-Xmx1024m
Sunil shakya
fonte
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
Brahma Reddy
fonte
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.

Sumoanand
fonte
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
Dimon
fonte
3

Isso pode funcionar:

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

-vmargs
-Xms40m
-Xmx512m
-XX:MaxPermSize=256m
UdayKiran Pulipati
fonte
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.

Dinesh M
fonte
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.

amalBit
fonte
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 .

TheLittleNaruto
fonte
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
vkg
fonte
1

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

-vm

D:\Java\jdk1.6.0_29\bin\javaw.exe
ahmedmzl
fonte
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
Youdhveer
fonte
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

Vishwesh Mangalore
fonte
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.

Srihari Karanth
fonte
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.

Nikhil Kumar
fonte
0
-vm D:\Java\jdk1.6.0_29\bin\javaw.exe
Um homem
fonte
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.

Kanani Mohit
fonte
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.

Ryan Heitner
fonte
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.

Satyendra
fonte