2013-02-26 15 views
28

Ho un JRE in C:\Program Files (x86)\Java\jre6 e quello era l'unico al momento in cui ho installato Eclipse. Successivamente ho installato un JDK completo in C:\home\SFTWR\jdk1.6.0_21 e modificato la mia variabile di ambiente JAVA_HOME. Tuttavia, ogni volta che avvio un nuovo spazio di lavoro di Eclipse, raccoglie solo il vecchio JRE e devo rimuoverlo manualmente e aggiungerne uno nuovo.Come modificare il JRE predefinito per tutte le aree di lavoro di Eclipse?

Come si collega l'installazione di Eclipse al nuovo JDK in modo che ogni nuovo spazio di lavoro punti solo a questo? Ho controllato eclipse.ini ma non c'era alcun riferimento a cui JRE andare.

UPDATE:

sono andato in Prefs->Java->Installed JRE s, ha aggiunto la nuova posizione, contrassegnato come di default, rimosso l'altra, ed era efficace solo per il lavoro corrente. Tuttavia, quando ho aperto un nuovo spazio di lavoro, era disponibile solo il vecchio JRE. Pertanto, ciò non ha modificato la configurazione di Eclipse principale applicabile a tutti gli spazi di lavoro (almeno nuovi)

risposta

23

finalmente capito: Il modo Eclipse raccoglie il JRE sta usando PATH del sistema.

Non avevo C:\home\SFTWR\jdk1.6.0_21\bin nel percorso prima e ho avuto C:\Program Files (x86)\Java\jre6\bin. Ho avuto sia JRE_HOME e JAVA_HOME impostato su C:\home\SFTWR\jdk1.6.0_21 ma nessuno di questi due ha importanza. Immagino che Eclipse abbia fatto (qualcosa con l'effetto di) dove java (o quale su UNIX/Linux) per vedere dove Java si trova nel percorso e ha preso il JRE a cui apparteneva lo java.exe. Nel mio caso, nonostante tutte le modifiche apportate alla configurazione (inclusa l'opzione eclipse.ini -vm come suggerito sopra), è rimasto bloccato su ciò che era nel percorso.

Ho rimosso il vecchio cestino JRE dal percorso, ne ho inserito uno nuovo e funziona per tutte le aree di lavoro.

+2

Non dimenticare di prendere il tuo [Sock Puppet] (http://winterbash2013.stackexchange.com/sock-puppet) - anche se trovare la testa per metterlo su può essere difficile. ;-) –

+2

Mi chiedo se il team di Eclipse potrà mai realizzare un'eclissi anche da remoto. FFS .... questo ha letteralmente funzionato bene ieri, e oggi senza preavviso ho appena deciso di non aver speso abbastanza della giornata lavorativa per servire Eclipse. Grazie per questo ... mi ha risparmiato il dover reinstallare java per l'ennesima volta per placare Eclipse. La prossima volta ammalerai semplicemente un agnello o qualcosa in anticipo. –

14

Aprire la pagina di preferenze Java> JRE installati. Selezionare la casella sulla riga per il JRE che si desidera assegnare come JRE predefinito nel workbench . Se il JRE che si desidera assegnare come predefinito non compare nell'elenco, è necessario aggiungerlo. Clicca OK.

source- http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-assign_default_jre.htm

+1

questo non ha funzionato neanche. Sono andato in 'Prefs-> Java-> Installed JREs', aggiunto il nuovo percorso, contrassegnato come predefinito, rimosso l'altro, ed era efficace solo per lo spazio di lavoro corrente. quando ho aperto un nuovo spazio di lavoro, era disponibile solo il vecchio JRE – amphibient

+0

hai provato a riassegnare il JRE anche nel nuovo spazio di lavoro? – KodeSeeker

+1

sì, ho creato un'intero nuovo spazio di lavoro, ho cambiato il JRE, l'ho chiuso. poi ha aperto un altro nuovo spazio di lavoro sperando che il precedente cambiamento di JRE avrebbe avuto effetto, ma non è stato come se avessi solo il vecchio JRE – amphibient

11

I JRE installata viene utilizzato per quello che JRE per eseguire per i vostri progetti Java ei server. Per quanto riguarda ciò che JVM o JRE viene utilizzato per eseguire il processo Eclipse (workbench) stesso controllato dal proprio file binario di ambiente, cronologia ed eclipse.exe. Quindi eclipse.exe stesso decide quale JRE Eclipse eseguirà se stesso con le preferenze JRE non installate poiché quelle non vengono lette fino a quando il framework OSGi non è attivo e in esecuzione, che viene caricato dopo che JVM/JRE è stato selezionato.

Quindi, per le nuove aree di lavoro, Eclipse utilizzerà il suo JRE attualmente in esecuzione per popolare le preferenze JRE.

Il modo migliore che conosco è forzare eclipse.exe a utilizzare JRE che viene comunicato tramite lo switch -vm. Quindi nel tuo eclipse.ini fare questo:

-startup 
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar 
--launcher.library 
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502 
-vm 
/path/to/exactly/what/jre/you/want/as/default/javaw.exe 
... 
+0

questo non ha funzionato. Ho aggiunto '-vm C: \ home \ SFTWR \ jdk1.6.0_21 \ bin \ javaw.exe' – amphibient

+0

Hai messo il -vm su una linea separata come percorso? dovrebbe apparire come -vm C:/home/... – gamerson

+0

ha funzionato per me ha appena aggiunto --vm C: \ Programmi \ Java \ jdk1.8.0_131 \ jre \ bin \ javaw.exe nel file di configurazione di eclipse –

0

provare a modificare l'ordine: tasto destro del mouse su progetto-> BuildPath-> Configura ...-> Scheda Ordine ed esportazione -> sposta su jre7 SU.

5

La mia risposta si sovrapporrà a quella di anfibio aggiungendovi.

La variabile JAVA_HOME va bene, ma è anche necessario aggiungere il seguente alla variabile Path:

;%JAVA_HOME%\bin 

Questo permetterà le applicazioni nel proprio ambiente di Windows di accedere al JDK. È necessario riavviare il computer anche dopo aver aggiunto queste variabili di ambiente prima di verificare se funzionano. Nel mio caso, anche il log out e il riavvio non hanno funzionato: ho dovuto riavviare completamente.

Se si desidera verificare se le variabili di ambiente sono impostate correttamente, è possibile aprire un prompt dei comandi e digitare>echo %JAVA_HOME e>echo %Path% per verificare se tali variabili funzionano correttamente. Mentre cerco soluzioni, mi imbatto anche in persone che sostengono di dover aggiungere virgolette (") attorno alle variabili di ambiente per farle funzionare correttamente ("%JAVA_HOME%"\bin) se il percorso JAVA_HOME include spazi. Ho pensato che fosse il mio caso in prima, ma dopo aver fatto un riavvio completo le mie variabili sembrava funzionare correttamente senza virgolette, nonostante gli spazi

-1

ho navigato a:.

Eclipse>Pref>Java>Installed JRE>Search... 

2 di loro sono saltate su e ho controllato il più recente prima. Ho fatto anche questo a About>Check for Updates e l'ho aggiornato.Non ho dovuto reinstallare nessun JRE o JDK. Avrei potuto farlo qualche tempo fa, tranne che con 1.6 non 1.4. Aiuta!

0

Ho affrontato lo stesso problema. La risoluzione: - Finestra -> Preferenze -> Java -> JRE installati -> Aggiungi ... - Fare clic con il pulsante destro del mouse sul progetto -> Percorso di creazione -> Configura percorso di creazione -> Aggiungi libreria- -> biblioteca sistema di JRE -> Avanti -> Area di lavoro di default JRE

7

in Eclipse vai alla

Finestra-> Java -> JRE installata

È possibile rimuovere il JRE installata corrente e aggiungere il jdk specificando il percorso in cui è installato jdk.

enter image description here

5

mi sono imbattuto in un problema simile in cui eclisse non stava usando il mio attuale %JAVA_HOME% che era sul path ed è stato invece usando una vecchia versione. La documentazione indica che se nel file ini non è specificato -vm, eclipse cercherà una libreria condivisa jvm.dll Questa verrà visualizzata nel registro sotto la chiave HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment che viene installata quando si utilizza il programma di installazione di Windows java (la chiave potrebbe essere leggermente diversa in base a 64-bit vs 32-bit, ma cercare jvm.dll). Poiché stava trovando questa libreria condivisa sul mio path prima dello %JAVA_HOME%/bin, stava usando la vecchia versione.

Come altri hanno affermato, il modo più semplice per gestire questo è specificare il valore vm specifico che si desidera utilizzare nel file eclipse.ini. Sto scrivendo questo perché non sono riuscito a capire come si stava ancora usando la vecchia versione quando non è stata specificata da nessuna parte sul file path o eclipse.ini.

vedi link a doc di seguito: http://help.eclipse.org/kepler/topic/org.eclipse.platform.doc.isv/reference/misc/launcher.html?cp=2_1_3_1

Trovare una VM e utilizzando l'API JNI Invocation

L'Eclipse lanciatore è in grado di caricare il Java VM nel processo di Eclipse utilizzando il Java API di invocazione dell'interfaccia nativa. Il programma di avvio è ancora in grado di avviare la VM Java in un processo separato, come nella versione precedente di Eclipse. Quale metodo viene utilizzato dipende da come è stata trovata la VM.

No -vm specificato

Quando non viene specificato alcun -vm, il programma di avvio cerca una macchina virtuale prima in una directory jre nella radice di eclisse e poi sul percorso di ricerca. Se java viene trovato in entrambe le posizioni, il programma di avvio cerca una libreria condivisa jvm (jvm.dll su Windows, libjvm.so su piattaforme * nix) relativa a tale eseguibile java.

  • Se viene trovata una libreria condivisa jvm, il programma di avvio lo carica e utilizza l'API di richiamo JNI per avviare il vm.
  • Se non viene trovata alcuna libreria condivisa di jvm, il programma di avvio esegue java launcher per avviare il vm in un nuovo processo.

-vm specificato sulla linea di comando o eclipse.ini

Eclipse può essere avviato con "-vm" per indicare una macchina virtuale da utilizzare. Ci sono diverse possibilità per il valore di:

directory
  • : è una directory. Guardiamo in quella directory per:
    • (1) un lanciatore Java o
    • (2) JVM libreria condivisa.

Se troviamo la libreria condivisa JVM, usiamo JNI invocazione. Se troviamo un launcher, tentiamo di trovare una libreria jvm in posizioni note relative al programma di avvio. Se ne troviamo uno, usiamo l'invocazione JNI. Se non viene trovata alcuna libreria jvm, eseguiamo java in un nuovo processo.

  • java.exe/javaw.exe: è un percorso di un programma di avvio Java. Eseguiamo il java launcher per avviare il vm in un nuovo processo.

  • jvm dll o so: è un percorso di una libreria condivisa di jvm. Proviamo a caricare quella libreria e ad usare l'API di richiamo JNI per avviare il vm nel processo corrente.

0

quando seleziona esegue configurazione c'è JRE toccare accanto rubinetto principale selezionare "Workspace predefinita JRE (JDK1.7)".

Assicurarsi di utilizzare il JDK in Prefs->Java->Installed JREs ->Execution Environment

Problemi correlati