Eclipse-no Java (JRE) / (JDK) ... sem máquina virtual
estou a tentar fazer com que o Eclipse v3.5 (Galileo) volte a correr no meu computador - já o fiz antes sem problemas, masAgora continuo a ter este erro:
Acabei de fazer uma nova instalação do JDK e do KIT. Tenho o Windows 7 (x64). O que se passa com isto? Como posso consertá-lo?um ambiente de execução Java (JRE) ou Java Development kit (JDK) deve estar disponível para executar o Eclipse. Não foi encontrada nenhuma máquina virtual Java depois de procurar nos seguintes locais: C:\eclipse\jre\javaw.exe javaw.exe na sua localização actual
não consigo correr nenhum ipconfig / tracert / ou ping.
30 answers
O Eclipse irá por omissão tentar lançar com o predefinido "java.exe
" (o primeiro referenciado pelo seu PATH
)
- "instalar" a JRE ou um JDK pode ser tão simples como abrir ou copiá-lo de outro computador: não há passos especiais de instalação, e você pode ter tantas versões JVM diferentes (1.4, 5.0, 6.0...) como você quer, "instalado" (copiado) quase em qualquer lugar do seu disco. Eu recomendaria correr sempre. Eclipse com o último JRE possível (para beneficiar das últimas evoluções hotspot). Podes.:
- faz referência a esse caminho exacto do JRE no teu eclipse .ini [14].
-
Copie qualquer JRE do seu ficheiro /jre.
Em ambos os casos, não é necessário actualizar
PATH
. - o JVM que irá referenciar dentro de a sua sessão de Eclipse é Não Sempre o usado para lançar o Eclipse porque:
- Tu só necessita de um JRE para lançar o Eclipse, mas uma vez lançado o Eclipse, deverá registar um JDK para os seus projectos (especialmente para Fontes Java e propósitos de depuração, também em teoria para compilação, mas o Eclipse tem o seu próprio compilador Java) Nota: você poderia registrar apenas um JRE dentro do Eclipse porque é suficiente para executar o seu programa, mas novamente um JDK irá permitir mais operações.
- Mesmo que o Java registado por omissão no Eclipse seja o usado para lançar a sessão, poderá querer registre um SDK mais antigo (incluindo um não-Sun), a fim de executar/depurar seus programas com um JRE semelhante ao que será realmente usado na produção.
Junho de 2012, jmbertucci comentários:
Estou a correr o Windows 64-bit e instalei o JRE de 32-bit. Descarreguei o Eclipse de 64 bits, que procura um JRE de 64 bits. Porque eu não tinha o JRE de 64 bits que lançou o erro, o que faz sentido.Foi para a Página de instalação manual Java (que não estava tão acessível como você gostaria) e instalou a versão de 64 bits. Ver " Downloads Java para todos os sistemas operacionais ". Era tudo o que precisava.
Abril 2016: Steve Mayne adiciona nos comentários:
Tive de editar o ficheiro
eclipse.ini
para referenciar a localização correcta do Java - O Eclipse não usa o ambientePATH
quando existe um valor emeclipse.ini
.
Copia este ficheiro:
c:/Program Files/Java/jre(5,6,7..any version)/bin/javaw.exe
Para A Pasta Eclipse
* Nota testada apenas para o Windows
Todas as outras respostas sobre definir apenas os JAVA_HOME
não estão inteiramente certos. O Eclipse não consulta o JAVA_HOME
. Veja mais de perto a mensagem de erro:
...na sua localização actual
Dizia literalmente PATH
, Não {[[0]}.
Rightclick O Meu Computador e escolher Propriedades (ou carregar Winkey+pausa ), vá para a Página avançado , carregue no botão botão Variáveis de Ambiente, em Variáveis do Sistema lista na parte inferior selecione Path
(n, não Classpath
), clique em Editar e adicione ;c:\path\to\jdk\bin
ao final do valor.
Em alternativa e se não estiver presente, pode também adicionar JAVA_HOME
a variável de ambiente e utilizá-la na PATH
. No mesmo diálogo, clique em Novo e adicione JAVA_HOME
, com o valor de c:\path\to\jdk
. Então você pode adicionar ;%JAVA_HOME%\bin
ao fim do valor da configuração Path
.
Abrir as propriedades do sistema do Windows a partir do painel de controlo e procurar as variáveis de ambiente:
- Adicione um item JAVA_HOME apontando para a pasta onde o JDK está instalado (e.g. C:\Program ficheiros\Java\jre6)
- Encontre o item caminho e adicione o seguinte ao fim ;%JAVA_HOME%\bin
- OK as alterações
- reiniciar o eclipse para que esteja ciente do novo ambiente
A maioria das ferramentas Java agora será capaz de encontrar o seu Java instalação usando a variável de ambiente JAVA_HOME ou procurando por java.exe / javaw.exe na variável de ambiente Path.
Se você baixar a versão de 64 bits do Eclipse; ele irá procurar a versão de 64 bits do JRE. Se você baixar a versão de 32 bits do Eclipse; ele irá procurar a versão de 32 bits do JRE
O que fiz foi instalar a versão de 32 e 64 bits do JRE. Podes ir buscar isso ao site do SUN Oracle. O site JAVA parece instalar automaticamente a versão de 32 bits do Java. Acho que é por causa do navegador.Tudo o que precisava de fazer era mudar o 'Caminho' para:
"C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Program ficheiros (x86)\Java; C:\Program Ficheiros (x86)\Java\jdk1. 6. 0_14\bin "
Isso fez isto:}
Solução em poucas palavras:
Clique com o botão Direito do mouse em Meu Computador, clique em propriedades e, em seguida, configurações avançadas do sistema, um Sistema de propriedades da janela pop-up será, sob a guia avançado, escolha as variáveis de ambiente, variáveis de Ambiente a janela de pop-up, sob a seção variáveis do Sistema , procure por PATH
variável, e editar o valor, alterando-o (a versão; jre6,jre7, etc) para qualquer que seja o jre que você está usando, e.g para de minas: C:\Program Files\Java\jre7\bin
C:\Program Ficheiros;C:\Winnt;C:\Winnt\System32;C:\Program Ficheiros\Java\jre6\bin\javaw.exe
Agora copia a pasta " jre " do teu caminho como se eu tivesse" jre " debaixo deste caminho
C:\Program Files\Java
E colá-lo na sua pasta do eclipse significa onde o seu eclipse.o ficheiro exe é colocado. como se tivesse o meu eclipse neste local.
F:\Softwares\LANGUAGES SOFTEARE\Android Setup\eclipse
Então, dentro da pasta eclipse, cole a pasta "jre". Se você tem " jre6 "então renomeá-lo como"jre"....e corre o eclipse terás a solução...
//<<<<<<<<<<<<<<----------------------------->>>>>>>>>>>>>>>>>>>
OUTRA SOLUÇÃO: 2
Se o problema não conseguiu resolver com os passos acima, então siga estes passos
- copiar a pasta " jre " de o seu caminho de Java como C:\Program ficheiros\Java\jre6* etc, e colá-lo no seu directório do eclipse(Onde está o seu eclipse) disponível) Vai para o eclipse.ficheiro ini, abre.
- muda o directório do teu javaw.ficheiro exe como
Agora, quando você vai começar o eclipse, ele vai procurar por javaw.exe, então ele vai procurar o caminho no eclipse.ini, as ele está agora na mesma pasta, então, ele vai iniciar o javaw.a exe e vai começar a funcionar.- vmF:\Softwares\LANGUAGES SOFTEARE\Android Setup\eclipse Indigo version 32 Bit\jre\bin / javaw.exe
Se ainda tiveres alguma dúvida que possas perguntar outra vez, vai ao meu perfil e descobre a minha identificação de E-mail. porque eu adoro o stack overflow forum, e isso fez de mim um programador.*
Não conte com a variável path do windows porque é alterada em quase todas as actualizações. Por exemplo, um chrome (32bit em uma máquina de 64 bits) Java update substitui o systemwide 64 bit JVM por um 32 bit JVM. Note também que esta entrada tem que ser a última no eclipse.ini, caso contrário não funciona,e - como dito de outra forma - a variável JAVA_HOME não é avaliada pelo eclipse.exe.
Mesmo que o seu JAVA_HOME e caminho estejam configurados validamente, o seu may tem este problema, por isso o mais simples a maneira de fazer é abrir o eclipse.ini na sua pasta de instalação do eclipse
- vm
C:\Program ficheiros\Java\jdk1. 7. 0_71\bin\javaw.exe
Substituir C:\Program ficheiros\Java\jdk1. 7. 0_71\bin\javaw.expe com o seu jdk ou o caminho do jre
No seu ficheiro eclipse.ini
, Tem de actualizar a localização do VM para apontar para o mesmo local onde javaw.exe
está instalado na sua máquina.
Um ambiente de execução Java (JRE) ou Java Development Kit (JDK) deve estar disponível para executar o Eclipse. Não Máquina virtual Java foi encontrada depois de procurar o seguinte locais: C:/Program Files / Java / jdk1.7. 0_09/bin / javaw
Depois de actualizar o eclipse.ini [11] de,
-vm
C:/Program Files/Java/jdk1.7.0_09/bin/javaw
A
-vm
C:/Program Files/Java/jdk1.7.0_80/bin/javaw
O Eclipse funciona bem.
Faça um ficheiro em lote na pasta eclipse e escreva nela:
eclipse -vm C:\Sun\SDK\jdk\jre\bin\javaw.exe
Quando eu tive esse problema, no meu caso eu tinha x64 JDK + JRE instalado com x86 Eclipse. Assim, a instalação do x86 JDK + JRE resolveu o meu problema: ) também criei a pasta jre
na pasta eclipse e copiei a pasta bin
da minha localização local C:\Program Files (x86)\Java\jre7
para ..\eclipse\jre\
.
- OS de 64 bits-- > você precisa: java de 64 bits e Eclipse de 64 bits
- 32-bit OS-- > você precisa: 32-bit Java e 32-bit Eclipse
Se actualizar a sua versão java com a actualização por omissão no seu computador de 64 bits (e tiver 32 bits browser), o java irá instalar a versão de 32 bits. Você deve encontrar 64 bits versão java e instalá-lo.
Editar: ele reutilizou o seu antigo espaço de trabalho depois de instalar os plugins necessários, de modo que não deve ser muito de um problema
Basta adicionar o caminho JRE para Ex: C:\Program ficheiros\Java\jre5\bin na variável ambiental Coloque"; " entre cada caminho. Então clica no eclipse.vai funcionar.....
A razão pela qual você obtém este erro é porque o eclipse precisa de um JRE para lançar, que ele não consegue encontrar. O primeiro lugar que ele procura é o diretório atual, em seguida, o eclipse.arquivo ini e, finalmente, o caminho do sistema. Então, se o it não consegue encontrar o jvm correto (as versões bit são diferentes) através de qualquer um destes três lugares, ele cribs
A forma recomendada é editar o eclipse.INI file e dizer eclipse onde exatamente para procurar o vm / jre, incluindo esta linha no ficheiro:
- vm
[caminho para o seu java.exe] (que está geralmente em "C:\Program ficheiros\Java\jre7\bin")
Fonte: - wiki
- inicialmente, não tinha Java instalado na minha nova máquina. Então, eu tive que instalar isso (baixado de: [10]} http://java.com/en/download/manual.jsp). Estou a rodar um SO de 64 bits. Mas, enquanto baixava, recebi a mensagem que pode ajudar-me a escolher qual a versão do Java a transferir:
- então, segui o procedimento mencionado em https://stackoverflow.com/a/14464653/801919 , esperando obter a solução. Tenho outro erro.
- então, instalei a versão 64-bit do Java.
- copiado
javaw.exe
dessa versão.
Choose the 32-bit download to use with a 32-bit browser.
por isso, baixei a versão de 32 bits.
...E o Eclipse começou a funcionar!!! Yaay!
Eclipse
costumo fazer isto quando tudo falha.
-
Encontre a sua pasta sdk Android e abra a Andróide.ficheiro bat com um editor de texto
- irá encontrar alguns comandos como estes no início do ficheiro,
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
-
Muda - os para
set java_exe=
O caminho para o seu java.ficheiro exe(pode ser encontrado dentro da sua pasta JDK/pasta bin)> Procurar as linhas
rem Set SWT.Jar path based on current architecture (x86 or x86_64)
for /f "delims=" %%a in ('"%java_exe%" -jar lib\archquery.jar') do set swt_path=lib\%%a
- substituir por conjunto
swt_path=
o caminho para o seu respectivo swt.ficheiro jar, para o x86 está em sdk\tools\lib\x86 e para o x64 em sdk\tools\lib\x86_64> - Salve e feche o arquivo e agora você está pronto para ir..
Tente configurar o seu JAVA_HOME para a pasta correcta. Google for setting environment variables in Windows.
No texto:
HKEY_CURRENT_USER\Environment
Path REG_SZ %JAVA_HOME%\bin;C:\ProgramFiles\nodejs
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
JAVA_HOME REG_SZ C:\ProgramFiles\Java\jdk
Path REG_EXPAND_SZ C:\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\
WindowsPowerShell\v1.0\;C:\Program Files\Intel\DMIX;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Progra
m Files (x86)\Perforce;C:\ProgramFiles\010 Editor;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\ProgramFiles\
Git\cmd;C:\Program Files (x86)\Skype\Phone\
C:\Users\ssfang> echo %^JAVA_HOME% = "%^JAVA_HOME%" = %%JAVA_HOME%% %JAVA_HOME%
%JAVA_HOME% = "%^JAVA_HOME%" = %C:\ProgramFiles\Java\jdk% C:\ProgramFiles\Java\jdk
Descobri que os seus tipos do valor do registo Path
são diferentes, por isso verifiquei se o caminho é válido ou não pelo seguinte comando:
C:\Users\ssfang> where node java
C:\ProgramFiles\nodejs\node.exe
INFO: Could not find "java".
Como resultado, repus o ambiente local (utilizador actual) pelos seguintes comandos ( Setx):
C:\Users\ssfang> setx PATH %^JAVA_HOME%\bin;"C:\ProgramFiles\nodejs"
SUCCESS: Specified value was saved.
C:\Users\ssfang> reg query HKEY_CURRENT_USER\Environment /v Path
HKEY_CURRENT_USER\Environment
Path REG_EXPAND_SZ %JAVA_HOME%\bin;C:\ProgramFiles\nodejs
C:\Users\ssfang> where node java
C:\ProgramFiles\nodejs\node.exe
INFO: Could not find "java".
C:\Users\ssfang>echo %PATH%
C:\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Fi
les\Intel\DMIX;c:\Program Files (x86)\Microsoft SQL Server\90\Tools\binn\;C:\Program Files (x86)\Perforce;C:\ProgramFile
s\010 Editor;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\ProgramFiles\Git\cmd;C:\Program Files (x86)\Skype\
Phone\;%JAVA_HOME%\bin;C:\ProgramFiles\nodejs
Mas, no processo actual, não pode propagar essas alterações a outros processos de execução.
No entanto, se modificar directamente as variáveis de ambiente do utilizador no editor de Registos,
Essas modificações nas variáveis de ambiente fazem não resulta em mudança imediata. Por exemplo, se você começar outro Prompt de comandos depois de fazer as alterações, as variáveis de ambiente irá reflectir os valores anteriores (não os actuais). As alterações não faça efeito até se desligar e voltar a ligar.
Para efectuar estas alterações sem ter de desligar, transmitir um Mensagem WM_SETTINGCHANGE para todas as janelas do sistema, de modo que qualquer aplicações interessadas (como o Windows Explorer, Gestor de Programas, Gerenciador de tarefas, painel de controle, e assim por diante) pode realizar uma atualização.
Ver detalhes em Como propagar variáveis de ambiente ao sistema
Aqui, eu dou um script para fazer isso:# powershell -ExecutionPolicy ByPass -File
# Standard, inline approach: (i.e. behaviour you'd get when using & in Linux)
# START /B CMD /C CALL "foo.bat" [args [...]]
# powershell -ExecutionPolicy ByPass -WindowStyle Hidden -File myScript.ps1
<#
Add-Type @'
public class CSharp
{
public static void Method(object[] first, object[] second)
{
System.Console.WriteLine("Hello world");
}
}
'@
$a = 1..4;
[string[]]$b = "a","b","c","d";
[CSharp]::Method($a, $b);
#>
<#
#http://stackoverflow.com/questions/16552801/how-do-i-conditionally-add-a-class-with-add-type-typedefinition-if-it-isnt-add
#Problem Add-Type : Cannot add type. The type name 'PInvoke.User32' already exists.
if (-not ("MyClass" -as [type])) {
add-type @"
public class MyClass { }
"@
}
p.s. there's no Remove-Type; see this answer for more on how to best work around this limitation:
http://stackoverflow.com/questions/3369662/can-you-remove-an-add-ed-type-in-powershell-again
I think it will be wanted when debugging.
It is much simpler to close a tab in Console and open new one in PowerShell_ISE.exe or close PowerShell.exe.
Or
Start-Job -ScriptBlock {
param([uri]$url,$OutputDir)
# download and save pages
Invoke-RestMethod $url | Out-File "$OutputDir\$($url.Segments[-1])" -Force
} -ArgumentList $link,$OutputDir
#>
if (-not ([System.Management.Automation.PSTypeName]'PInvoke.Program').Type)
{
$sig=@"
using System;
using System.Runtime.InteropServices;
using System.Text;
using System.Collections.Generic;
// The global namespace is the "root" namespace: global::system will always refer to the .NET Framework namespace System.
///P/Invoke (Platform Invoke)
namespace PInvoke
{
public static class User32
{
/// http://www.pinvoke.net/default.aspx/Constants/HWND.html
// public const IntPtr HWND_BROADCAST = new IntPtr(0xffff);
/// https://msdn.microsoft.com/en-us/library/windows/desktop/ms725497(v=vs.85).aspx
/// http://www.pinvoke.net/default.aspx/Constants/WM.html
public const UInt32 WM_SETTINGCHANGE = 0x001A;
// SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM) "Environment", SMTO_ABORTIFHUNG, 5000, &dwReturnValue);
/// https://msdn.microsoft.com/en-us/library/windows/desktop/ms644952(v=vs.85).aspx
/// If the function succeeds, the return value is nonzero.
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SendMessageTimeout", SetLastError = true)]
public static extern uint SendMessageTimeout(IntPtr hWnd, uint Msg, int wParam, string lParam, SendMessageTimeoutFlags fuFlags, uint uTimeout, out int lpdwResult);
}
[Flags]
public enum SendMessageTimeoutFlags : uint
{
SMTO_NORMAL = 0x0,
SMTO_BLOCK = 0x1,
SMTO_ABORTIFHUNG = 0x2,
SMTO_NOTIMEOUTIFNOTHUNG = 0x8,
SMTO_ERRORONEXIT = 0x20
}
public class Program
{
public static void Main(string[] args)
{
//int innerPinvokeResult;
//uint pinvokeResult = User32.SendMessageTimeout(User32.HWND_BROADCAST, User32.WM_SETTINGCHANGE, 0, "Environment", SendMessageTimeoutFlags.SMTO_NORMAL, 1000, out innerPinvokeResult);
Console.WriteLine("Over!!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
}
"@
Add-Type -TypeDefinition $sig
}
## [PInvoke.Program]::Main([IntPtr]::Zero);
$innerPinvokeResult=[int]0
[PInvoke.User32]::SendMessageTimeout([IntPtr]0xffff, [PInvoke.User32]::WM_SETTINGCHANGE, 0, "Environment", [PInvoke.SendMessageTimeoutFlags]::SMTO_NORMAL, 1000, [ref]$innerPinvokeResult);
Setx setx [/s [/u [] [/p []]]] [/m]
/m Specifies to set the variable in the system environment. The default setting is the local environment
Verificar A Janela > Preferências > Java > JREs Instalados. Certifique-se de que há algo lá; se não há, adicione um.
Actualizou recentemente o seu JDK?O JDK não instala um JVM na localização predefinida.
A menos que precises de ferramentas externas para correr como o ant, o não-JDK é suficiente para o Eclipse correr. A maneira mais fácil de instalar tal JVM é ir para http://java.com e deixe-o instalar o que quiser instalar.Depois, carregue novamente no binário do Eclipse.
Define a variável JAVA_HOME e a variável ad JAVA_HOME / bin para a variável evnrionment path.
Eu tinha o mesmo problema (Windows 7 x64, 64bit JDK, 32bit Eclipse), e encontrei 2 Soluções:
- Instale a versão de 64 bits do Eclipse (encontrada clicando na página "desenvolvimento constrói" na página de transferências.)
- Instale a versão 32bit do JDK.
Acabei por instalar: Ambiente de execução Java 1.7.0.3 (64-bit) e Eclipse Indigo (3.7) (64-bit)
Então, funciona.Quando copiei apenas o javaw, o segundo erro ocorreu, não existe um java.DLL file, quando eu copiei também, eclipse não começou, o que eu fiz foi que eu copiei toda a pasta jdk para eclipse pasta e renomeado id para jre. Problema resolvido.