Eclipse - no Java (JRE) / (JDK) no nessuna macchina virtuale
Sto cercando di far rieseguire Eclipse v3.5 (Galileo) sul mio computer-l'ho eseguito prima senza problemi, ma ora Continuo a ricevere questo errore:
Per eseguire Eclipse è necessario disporre di un Java Runtime Environment (JRE) o di un Java Development kit (JDK). Nessuna macchina virtuale Java è stata trovata dopo la ricerca nelle seguenti posizioni: C:\eclipse\jre\javaw.exe javaw.exe nel PERCORSO corrente
Ho appena fatto una nuova installazione sia di JDK che di SDK.
Ho Windows 7 (x64).
Che succede? Come faccio a risolvere il problema?
Non riesco a eseguire alcun ipconfig / tracert / o ping.
30 answers
Eclipse per impostazione predefinita tenterà di avviare con il valore predefinito "java.exe
" (il primo a cui fa riferimento il tuo PATH
)
Tre cose da ricordare:
- "Installare" un JRE o un JDK può essere semplice come decomprimerlo o copiarlo da un altro computer: non ci sono passaggi di installazione speciali e puoi avere tante versioni JVM diverse (1.4, 5.0, 6.0...) come vuoi, "installato" (copiato) quasi ovunque sul tuo disco.
- Consiglierei di eseguire sempre Eclipse con il lastest JRE possibile (per beneficiare delle ultime evoluzioni hotspot ).
Puoi:
- Fa riferimento a quel percorso JRE esatto nella tua eclissi .ini.
-
Copia qualsiasi JRE del tuo nella tua directory
/jre . In entrambi i casi, nessunPATH
da aggiornare.
- La JVM a cui farai riferimento all'interno di la tua sessione Eclipse è non sempre quella utilizzata per lanciare Eclipse perché:
- Hai solo bisogno di un JRE per lanciare Eclipse, ma una volta lanciato Eclipse, dovresti registrare un JDK per i tuoi progetti (specialmente per i sorgenti Java e gli scopi di debug, anche in teoria per la compilazione ma Eclipse ha il suo compilatore Java) Nota: è possibile registrare solo un JRE all'interno di Eclipse perché è sufficiente eseguire il programma, ma ancora una volta un JDK consentirà più operazioni.
- Anche se il Java registrato predefinito in Eclipse è quello utilizzato per avviare la sessione, è possibile registrarsi un vecchio SDK (incluso uno non Sun) per eseguire/eseguire il debug dei programmi con un JRE simile a quello che verrà effettivamente utilizzato in produzione.
Giugno 2012, jmbertucci commenti:
Sto eseguendo Windows 7 a 64 bit e ho installato JRE a 32 bit. Ho scaricato Eclipse a 64 bit che cerca un JRE a 64 bit. Perché non avevo il JRE a 64 bit ha gettato l'errore, il che ha senso.
Sono andato a la pagina di installazione manuale Java (che non era accessibile direttamente come desideri) e ha installato la versione a 64 bit. Vedere " Download Java per tutti i sistemi operativi". Era tutto quello di cui avevo bisogno.
Aprile 2016: Steve Mayne aggiunge nei commenti :
Ho dovuto modificare il file
eclipse.ini
per fare riferimento al percorso Java corretto - Eclipse non usa affatto l'ambientePATH
quando c'è un valore ineclipse.ini
.
Basta copiare questo file :
c:/Program Files/Java/jre(5,6,7..any version)/bin/javaw.exe
Alla cartella Eclipse
* nota testato solo per Windows
Tutte le altre risposte sull'impostazione di solo JAVA_HOME
non sono del tutto corrette. Eclipse fa cioè non consultare il JAVA_HOME
. Guarda più da vicino il messaggio di errore:
...nel PERCORSO corrente
Ha letteralmente detto PATH
, non JAVA_HOME
.
Rightclick Risorse del computer e scegliere Proprietà (o premere Winkey+Pausa ), andare alla scheda Avanzate , fare clic sul pulsante Variabili di ambiente , nell'elenco Variabili di sistema in basso selezionare Path
(no, non Classpath
), fare clic su Modifica e aggiungere ;c:\path\to\jdk\bin
alla fine del valore.
In alternativa e se non presente, è anche possibile aggiungere JAVA_HOME
variabile d'ambiente e farne uso nel PATH
. Nella stessa finestra di dialogo fare clic su Nuovo e aggiungere JAVA_HOME
con il valore di c:\path\to\jdk
. Quindi è possibile aggiungere ;%JAVA_HOME%\bin
alla fine del valore dell'impostazione Path
.
Aprire le proprietà di sistema di Windows dal pannello di controllo e cercare la sezione variabili di ambiente:
- Aggiungi una voce JAVA_HOME che punta alla directory in cui è installato JDK (ad esempio C:\Program File \ Java \ jre6)
- Trova la voce del percorso e aggiungi quanto segue alla fine; % JAVA_HOME% \ bin
- OK le modifiche
- Riavvia eclipse in modo che sia a conoscenza del nuovo ambiente
La maggior parte degli strumenti Java sarà ora in grado di trovare la tua installazione Java utilizzando la variabile d'ambiente JAVA_HOME o cercando java.exe / javaw.exe nella variabile d'ambiente Path.
Se scarichi la versione a 64 bit di Eclipse; cercherà la versione a 64 bit di JRE. Se si scarica la versione a 32 bit di Eclipse; cercherà la versione a 32 bit di JRE
Quello che ho fatto è stato installare la versione a 32 e 64 bit di JRE. È possibile ottenere che dal sito SUN Oracle. Il sito JAVA sembra installare automaticamente la versione a 32 bit di Java. Immagino che sia a causa del browser web.
Si è scoperto che tutto quello che dovevo fare era cambiare il'path' in:
"C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem; C:\Program File (x86) \ Java; C:\Program File (x86)\Java \ jdk1. 6. 0_14\bin"
Che ha fatto:)
Ho Windows 7 a 64 bit e ho avuto lo stesso problema con eclipse. Per farlo funzionare, ho dovuto usare Internet Explorer (versione a 64 bit) per scaricare java. Questo era l'unico modo per ottenere java per installare una versione a 64 bit. Quando ho usato firefox per installare java, ha installato automaticamente una versione a 32 bit (così idiota!). E la versione a 64 bit di Eclipse non rileverebbe la versione a 32 bit di java.
Soluzione in poche parole:
Fare clic con il pulsante destro del mouse su Risorse del computer, fare clic su proprietà, quindi impostazioni di sistema avanzate, verrà visualizzata una finestra Proprietà di sistema, nella scheda avanzate, scegliere variabili d'ambiente, finestra Variabili d'ambiente, nella sezione Variabili di sistema, cercare PATH
variabile e modificare il valore, cambiandolo (la versione; jre6,jre7, ecc.) ]}
Non ti preoccupare sono stato anche rovinato da questo errore e fatale e quando l'ho ricevuto ero così frustrato anche se stavo dando a lasciare una programmazione Android, ma l'ho capito, semplicemente prima di tutto copia questo codice e incolla nella tua variabile di sistema Sotto path ...
C:\Program File;C:\Winnt;C:\Winnt\System32;C:\Program File \ Java \ jre6 \ bin \ javaw.exe
Ora copia la cartella" jre " dal tuo percorso come se avessi " jre " sotto questo percorso
C:\Program Files\Java
E incollarlo nella cartella eclipse significa dove la tua eclipse.il file exe viene inserito. come se avessi la mia eclipse impostata in questa posizione
F:\Softwares\LANGUAGES SOFTEARE\Android Setup\eclipse
Quindi all'interno della cartella eclipse incolla la CARTELLA "jre". Se hai "jre6", rinominalo come"jre"....ed esegui la tua eclissi avrai la soluzione...
//<<<<<<<<<<<<<<----------------------------->>>>>>>>>>>>>>>>>>>
ALTRA SOLUZIONE: 2
Se il problema non è stato risolto con i passaggi precedenti, attenersi alla seguente procedura
- Copia la cartella " jre " da il tuo percorso Java come C:\Program File \ Java \ jre6* ecc, e incollalo nella tua directory eclipse(dov'è la tua eclipse disponibile)
- Vai a eclipse.file ini, aprilo.
- Cambia la directory del tuo javaw.file exe come
- vmF: \ Software \ LINGUE SOFTEARE \ Configurazione Android \ eclipse Indigo versione 32 Bit \ jre \ bin / javaw.exe
Ora questa volta quando inizierai eclipse cercherà javaw.exe, quindi cercherà il percorso nell'eclissi.ini, come ora è nella stessa cartella, quindi inizierà il javaw.exe e inizierà a funzionare.
Se avete ancora qualche domanda si può chiedere di nuovo, basta andare sul mio profilo e scoprire il mio ID e-mail. perché amo stack overflow forum, e mi ha fatto un programmatore.*
Non fare affidamento sulla variabile path di Windows perché viene modificata in quasi tutti gli aggiornamenti. Ad esempio, un aggiornamento java Chrome (32 bit su una macchina a 64 bit) sostituisce la JVM a 64 bit a livello di sistema con una JVM a 32 bit. Si noti inoltre che questa voce deve essere l'ultima nell'eclissi.ini, altrimenti non funziona E, come diversamente affermato, la variabile JAVA_HOME NON viene valutata da eclipse.exe.
Anche se il tuo JAVA_HOME e il percorso configurato sono validi, il loro maggio ha questo problema, quindi il modo più semplice per non è aprire l'eclissi.ini nella cartella di installazione di eclipse
- vm
C:\Program File \ Java \ jdk1.7. 0_71\bin\javaw.exe
Sostituisci C:\Program File \ Java \ jdk1.7. 0_71\bin\javaw.exe con il percorso di jdk o jre
Nel file eclipse.ini
, è necessario aggiornare il percorso della VM per puntare alla stessa posizione in cui javaw.exe
è installato sulla macchina.
Modificato la mia eclissi.file ini per aggiornare il JDK appena aggiornato. In precedenza avevo jdk1.7.0_09 e aggiornato ora a jdk1.7. 0_80 ed eclipse ha lanciato questo errore.
Per eseguire Eclipse è necessario disporre di un Java Runtime Environment (JRE) o di un Java Development Kit (JDK). No Java Virtual machine è stato trovato dopo aver cercato quanto segue località: C:/Program File / Java/jdk1.7.0_09/bin / javaw
Dopo l'aggiornamento di eclipse.ini da,
-vm
C:/Program Files/Java/jdk1.7.0_09/bin/javaw
Da A
-vm
C:/Program Files/Java/jdk1.7.0_80/bin/javaw
Eclipse funziona bene.
Crea un file batch nella cartella eclipse e scrivici:
eclipse -vm C:\Sun\SDK\jdk\jre\bin\javaw.exe
Se dopo aver aggiunto il C:\Program File \ Java\jdk1.8.0_92 \ bin nella variabile PATH nelle variabili di ambiente l'eclissi ha dato lo stesso errore
Controlla il file delle impostazioni di configurazione di eclipse trovato nella cartella eclipse, devi vedere lo stesso percorso jdk che hai in C:\program File
Spero che aiuti.
Quando ho avuto questo problema, nel mio caso ho avuto x64 JDK + JRE installato con x86 Eclipse. Quindi l'installazione di x86 JDK + JRE ha risolto il mio problema: ) Inoltre ho creato la cartella jre
nella cartella eclipse e copiato la cartella bin
dal mio percorso locale C:\Program Files (x86)\Java\jre7
a ..\eclipse\jre\
.
- Sistema operativo a 64 bit> > È necessario: Java a 64 bit e Eclipse a 64 bit
- sistema operativo a 32 bit> > È necessario: Java a 32 bit e Eclipse a 32 bit
Se si aggiorna la versione java con l'aggiornamento predefinito nel computer a 64 bit (e si dispone di browser a 32 bit), java installerà la versione a 32 bit. Dovresti trovare la versione Java a 64 bit e installarla.
Ho avuto un collega con questo problema esatto la scorsa settimana. L'ha risolto installando la versione x64 di Eclipse e x64 JDK.
Edit: ha riutilizzato il suo vecchio spazio di lavoro dopo aver installato i plugin necessari, quindi non dovrebbe essere un problema
C'è un modo più semplice per farlo. Basta eseguire cmd x64. Digita cmd x64 alla barra di ricerca nel menu start ant lo troverai:) O in alternativa, dovresti impostare il percorso per i file di programma (x86)... Ad esempio C:\Program File (x86) \ Java \ jre6
Basta aggiungere il PERCORSO JRE PER Es: C:\Program File \ Java \ jre5 \ bin nella variabile ambientale Metti"; " tra ogni percorso. Quindi fare clic sull'eclissi.exe Funzionerà.....
Il motivo per cui si ottiene questo errore è perché eclipse ha bisogno di un JRE per l'avvio, che non riesce a trovare. Il primo posto che cerca è la directory corrente, quindi l'eclissi.file ini e infine il percorso di sistema. Quindi, se non riesce a trovare la jvm corretta (le versioni dei bit sono diverse) attraverso uno di questi tre punti, culla
Il modo consigliato è quello di modificare l'eclissi.ini e dire a eclipse dove esattamente cercare la vm / jre, includendo questa riga nel file:
- vm
[percorso al tuo java.exe] (che è generalmente sotto "C:\Program File\Java\jre7\bin")
PS Per modificare l'eclissi.ini, potrebbe essere necessario spostarlo, modificarlo e quindi incollarlo indietro
Fonte: - wiki
Prima di tutto grazie a YouYou per la sua soluzione! Ho provato risposta da YouYou ( https://stackoverflow.com/a/14464653/801919 ). Inizialmente, non ha funzionato per me. Di seguito sono riportati i passaggi che avevo bisogno di prendere per farlo funzionare:
- Inizialmente, non avevo Java installato sulla mia nuova macchina. Quindi, ho dovuto installarlo (scaricato da: http://java.com/en/download/manual.jsp).
- Sto eseguendo il sistema operativo a 64 bit. Ma, durante il download, ho ricevuto il messaggio che potrebbe aiutami a scegliere quale versione di Java scaricare:
Choose the 32-bit download to use with a 32-bit browser.
Quindi, ho scaricato la versione a 32 bit. - Quindi, ho seguito la procedura menzionata in https://stackoverflow.com/a/14464653/801919 , sperando di ottenere la soluzione.
- Ho avuto qualche altro errore:
Java was started but returned exit code=13
- Quindi, ho installato la versione a 64 bit di Java.
- Copiato
javaw.exe
da quella versione.
...E Eclipse ha iniziato a lavorare!!! Yaay!
Bene questa risposta è a coloro che hanno provato tutti loro altri ancora senza fortuna, che questo sia Android studio o Eclipse
di solito lo faccio quando tutto il resto fallisce.
- Trova la cartella sdk di Android e apri Android.bat file con un editor di testo
- troverai alcuni comandi come questi all'inizio del file,
set java_exe=
call lib\find_java.bat
if not defined java_exe goto :EOF
-
Modificali in
set java_exe=
il percorso del tuo java.file exe(può essere trovato all'interno della cartella jdk/directory bin)> -
Trova le righe
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
- Sostituiscilo con set
swt_path=
il percorso per il rispettivo swt.file jar, per x86 è su sdk \ tools \ lib \ x86 e per x64 su sdk \ tools \ lib \ x86_64 > - Salva e chiudi il file e ora sei a posto..
Prova a impostare JAVA_HOME nella cartella corretta. Google per impostare le variabili di ambiente in Windows.
Ho incontrato anche questo problema. Il mio caso è il seguente:
Nel testo:
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
Ho trovato che i loro tipi di valore del registro di sistema Path
sono diversi, quindi ho controllato se il percorso è valido o meno con il seguente comando:
C:\Users\ssfang> where node java
C:\ProgramFiles\nodejs\node.exe
INFO: Could not find "java".
Di conseguenza, reimpostare l'ambiente locale (utente corrente) con i seguenti comandi ( 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
Ma, nel processo corrente, non può propagare tali modifiche ad altri processi in esecuzione.
Tuttavia, se si modificano direttamente le variabili di ambiente utente nell'editor del Registro di sistema,
Tali modifiche alle variabili di ambiente fanno non provocare un cambiamento immediato. Ad esempio, se si avvia un altro Prompt dei comandi dopo aver apportato le modifiche, le variabili di ambiente rifletterà i valori precedenti (non quelli attuali). Le modifiche non entra in vigore fino a quando non si disconnette e quindi si accede di nuovo.
Per effettuare queste modifiche senza dovendo disconnettersi, trasmettere un WM_SETTINGCHANGE messaggio a tutte le finestre del sistema, in modo che qualsiasi applicazioni interessate (come Windows Explorer, Program Manager, Task Manager, Pannello di controllo, e così via) in grado di eseguire un aggiornamento.
Vedere i dettagli in Come propagare le variabili di ambiente al sistema
Qui, do uno script powershell per farlo:
# 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
Controlla finestra > Preferenze > Java > JRE installati. Assicurati che ci sia qualcosa lì; se non c'è, aggiungine uno.
Hai recentemente aggiornato il tuo JDK?
Il JDK non installa una JVM nel percorso predefinito.
A meno che tu non abbia bisogno di strumenti esterni per funzionare come ant, il non-JDK è sufficiente per l'esecuzione di Eclipse. Il modo più semplice per installare tale JVM è andare su http://java.com e lascia che installi tutto ciò che vuole installare.
Quindi fare di nuovo doppio clic sul binario Eclipse.
Imposta la variabile JAVA_HOME e ad JAVA_HOME/bin alla variabile del percorso evnrionment.
Ho avuto lo stesso problema (Windows 7 x64, 64bit JDK, 32bit Eclipse) e ho trovato 2 soluzioni:
- Installa la versione a 64 bit di Eclipse (trovata facendo clic sulla scheda "Build di sviluppo" nella pagina dei download.)
- Installare la versione a 32 bit del JDK.
Ho avuto lo stesso problema. Il modo più semplice, per me risolverlo era installare sia JRE che eclipse come x86 o x64. Quando il loro tipo di bit non corrispondeva, eclipse non riusciva a trovarlo. Quindi, se non è un grosso problema per te disinstallare e reinstallare per farli corrispondere, lo farei.
Ho finito per installare: Java Runtime Environment 1.7.0.3 (64-bit) e Eclipse Indigo (3.7) (64-bit)
Allora funziona e basta.
Quando ho copiato solo javaw, si è verificato il secondo errore, non c'è un java.file dll, quando l'ho copiato anche io, eclipse non è stato avviato, quello che ho fatto è stato che ho copiato l'intera cartella jdk nella cartella eclipse e rinominato id in jre. Problema risolto.