Come impostare java home su Windows 7?
Sono andato alle variabili di ambiente in 'Sistema' nel pannello di controllo e ho creato due nuove variabili, una per le variabili utente e una per le variabili di sistema. Entrambi sono stati nominati JAVA_HOME ed entrambi puntano a
C:\Sun\SDK\jdk\bin
Ma per qualche motivo, ottengo ancora l'errore seguente quando si esegue un comando Java...
BUILD FAILED
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:161: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:141: The following error occurred while executing this line:
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish\setup.xml:137: Please set java.home to a JDK installation
Total time: 1 second
C:\Users\Derek\Desktop\eclipse\eclipse\glassfish>lib\ant\bin\ant -f setup.xml
Unable to locate tools.jar. Expected to find it in C:\Program Files\Java\jre6\lib\tools.jar
Buildfile: setup.xml
Come posso risolvere questo problema?
18 answers
Trova la directory di installazione di JDK
Per prima cosa è necessario conoscere il percorso di installazione per il Kit di sviluppo Java.
Aprire il percorso di installazione predefinito per il JDK:
C:\Program Files\Java
Dovrebbe esserci una sottodirectory come:
C:\Program Files\Java\jdk1.8.0_172
Nota: basta inserire il percorso del jdk senza /bin alla fine (come suggerito in molti posti). ad esempio C:\Java\jdk1.8.0_172 e NON C:\Java\jdk1.8.0_172\bin !
Imposta il Variabile JAVA_HOME
Una volta che hai il percorso di installazione di JDK:
- Fare clic con il pulsante destro del mouse sull'icona Risorse del computer sul desktop e selezionare Proprietà .
- Fare clic sulla scheda Avanzate , quindi fare clic sul pulsante Variabili d'ambiente .
- In Variabili di sistema, fare clic su Nuovo.
- Immettere il nome della variabile come JAVA_HOME .
- Immettere il valore della variabile come percorso di installazione per il Kit di sviluppo Java.
- Fare clic su OK .
- Fare clic su Applica modifiche .
Nota: Potrebbe essere necessario riavviare Windows
L'articolo completo è qui, sul mio blog: Impostazione della variabile JAVA_HOME in Windows.
Ciò che ha funzionato per me è stato aggiungere %JAVA_HOME%\bin
alla variabile d'ambiente Path con la variabile d'ambiente JAVA_HOME
che punta alla cartella jdk
.
Devi prima Installare JDK nel tuo sistema.
Imposta Java Home
_CASA JAVA_ = C:\Program File \ Java \ jdk1.7.0 [Posizione della directory di installazione di JDK]
Una volta che hai il percorso di installazione di JDK:
- Fare clic con il pulsante destro del mouse sull'icona Risorse del computer su
- Selezionare Proprietà.
- Fare clic sulla scheda Impostazioni di sistema avanzate sul lato sinistro dello schermo
- Aadvance Popup è aperto.
- Clicca su Ambiente Pulsante Variabili.
- In Variabili di sistema, fare clic su Nuovo.
- Immettere il nome della variabile come JAVA_HOME.
- Immettere il valore della variabile come percorso di installazione per il Kit di sviluppo Java.
- Fare clic su OK.
- Fare clic su Applica modifiche.
Imposta il percorso JAVA sotto la variabile di sistema
PERCORSO = C:\Program File \ Java \ jdk1.7.0; [Aggiungi valore con punto e virgola]
In cmd (temporaneamente per quella finestra cmd):
set JAVA_HOME="C:\\....\java\jdk1.x.y_zz"
echo %JAVA_HOME%
set PATH=%PATH%;%JAVA_HOME%\bin
echo %PATH%
È necessario impostarlo su C:\Sun\SDK\jdk
(supponendo che sia dove è installato JDK - Non è il default) - Non mettere il \bin in C:\Sun\SDK\jdk\bin
.
Se la tua app viene eseguita solo quando sei connesso come utente corrente, inseriscila nelle variabili utente, se deve essere eseguita per tutti gli utenti sul tuo sistema, inseriscila nelle variabili di sistema.
Potrebbe anche essere necessario aggiungere %JAVA_HOME%\bin
al percorso anche (Dipende anche dal fatto che lo si esegua solo dall'utente o da tutti gli utenti, incluso il sistema)
Http://javahowto.blogspot.com/2006/05/javahome-vs-javahome.html
Pannello di controllo > Java, scheda Java, fare clic sul pulsante Visualizza. Nei parametri di runtime, inserire:
-Djava.home=YOUR_PATH_HERE
O quando si esegue Java è possibile aggiungere l'opzione della riga di comando al comando:
java -Djava.home=PATH SomeJavaApp
Per coloro che sono ancora perplessi con questo problema (ho provato tutti i suggerimenti di cui sopra) {
Se sei su una versione a 64 bit di Windows e hai installato il JDK a 32 bit, oltre a regolare le variabili PATH
, potrebbe essere necessario regolare anche le variabili del registro.
Stavo tirando fuori i miei capelli, avendo impostato correttamente le mie variabili PATH
- ancora senza alcun risultato - e poi solo trovando voci Java "liberate" nel mio registro, apparentemente un vicolo cieco di correggere il" misfiring " Java Ambiente di runtime.
Usando Process Monitor
per guardare il programma che stavo cercando di iniziare, al fine di annusare dove stava cercando nel registro di sistema per Java (Runtime Environment), ho trionfalmente scoperto che sta cercando nella versione a 32 bit delle voci di registro, che si trovano in HKEY_LOCAL_MACHINE\SOFTWARE\**Wow6432Node**\JavaSoft\Java Runtime Environment
.
All'interno di quella chiave, dovresti trovare sottochiavi di diverse versioni Java installate (passate e/o presenti). Fare clic sulla sottochiave dell'ultima versione (la mia sottochiave è attualmente 1.7.0_25, Biru). Dopo aver fatto clic su quella sottochiave, vedrai i valori delle stringhe del registro di sistema elencati a destra, e in particolare JavaHome
e RuntimeLib
. È necessario modificare i valori di questi due valori per riflettere sia la cartella corrente che la jvm.file dll, rispettivamente.
Ad esempio, nel mio caso, i valori erano (precedentemente) rispettivamente impostati su C:\Program Files (x86)\Java\jre7
e C:\Program Files (x86)\Java\jre7\bin\client\jvm.dll
che sono inesistenti sulla mia macchina. Ho dovuto aggiornarli alla cartella e al file correnti di C:\Program Files (x86)\Java\jdk1.7.0_25\jre
e C:\Program Files (x86)\Java\jdk1.7.0_25\jre\bin\client\jvm.dll
.
Ancora una volta, questo dipenderà interamente sia da quale versione di Java (JDK e/o JRE) hai installato -- 32 o 64-bit and e che tipo di sistema operativo sei su -- 32 o 64-bit. Sappi solo che si riflettono in diverse posizioni all'interno del registro (come Wow6432Node
per le applicazioni a 32 bit, nel mio caso con il JDK a 32 bit installato su una macchina a 64 bit).
Ora che ho aggiornato questi due valori del registro, il mio programma funziona perfettamente, senza più singhiozzi o reclami relativi a un ambiente di runtime Java mancante (derivante dal registro di sistema).
Questa è la soluzione ufficiale per impostare l'ambiente Java da www.java.com - qui .
Esistono soluzioni per Windows 7, Windows Vista, Windows XP, Linux/Solaris e altre shell.
Esempio
Finestre 7
- Selezionare Computer dal menu Start
- Scegliere Proprietà di sistema dal menu contestuale
- Fare clic su Impostazioni di sistema avanzate - > Scheda Avanzate
- Clicca su Ambiente Variabili, in Variabili di sistema, trova PERCORSO e fai clic su di esso.
- Nelle finestre Modifica, modificare il PERCORSO aggiungendo la posizione della classe al valore per il PERCORSO. Se non si dispone del PERCORSO elemento, è possibile scegliere di aggiungere una nuova variabile e aggiungere PERCORSO come nome e la posizione della classe come valore.
- Riapri la finestra del prompt dei comandi ed esegui il codice Java.
Finestre 7
-
Vai a Pannello di controllo\Tutti gli elementi del pannello di controllo\Account utente utilizzando Explorer (non Internet Explorer!)
O
-
Cambia il mio ambiente variabili
-
Nuovo...
(se non si dispone di autorizzazioni sufficienti per aggiungerlo nella sezione Variabili di sistema, aggiungerlo alla sezione Variabili utente)
-
Aggiungi JAVA_HOME come nome della variabile e la posizione JDK come valore della variabile > OK
Prova:
- aprire una nuova console (cmd)
- tipo
set JAVA_HOME
- uscita prevista:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60
- uscita prevista:
Dobbiamo fare una distinzione tra le due variabili di ambiente che sono discusse qui in modo intercambiabile. Uno è la variabile JAVA_HOME . L'altra è la variabile Path . Qualsiasi processo che fa riferimento alla variabile JAVA_HOME sta cercando il percorso di ricerca per JDK, non per JRE. L'uso della variabile JAVA_HOME non è pensato per il compilatore Java stesso. Il compilatore è a conoscenza della propria posizione. La variabile è pensata per altri software per individuare più facilmente il compilatore. Questa variabile viene in genere utilizzata dal software IDE per compilare e creare applicazioni dal codice sorgente Java. Al contrario, l'interprete CMD di Windows e molti altri software di prima e terza parte fanno riferimento alla variabile Path, non alla variabile JAVA_HOME.
Caso d'uso 1: Compilazione da CMD
Quindi, ad esempio, se non si utilizza alcun software IDE e si desidera solo essere in grado di compilare dal CMD, indipendentemente dalla directory di lavoro corrente, allora ciò che si desidera è quello di impostare correttamente la variabile Path. Nel tuo caso, non hai nemmeno bisogno della variabile JAVA_HOME. Perché CMD sta usando Path, non JAVA_HOME per individuare il compilatore Java.
Caso d'uso 2: Compilazione da IDE
Tuttavia, se si si sta utilizzando alcuni software IDE, allora si deve guardare la documentazione prima di tutto. Potrebbe richiedere l'impostazione di JAVA_HOME, ma potrebbe anche utilizzare un altro nome di variabile per lo stesso scopo. Lo standard de facto nel corso degli anni è stato JAVA_HOME, ma questo potrebbe non essere sempre il caso.
Caso d'uso 3: Compilazione da IDE e CMD
Se oltre al software IDE si desidera anche essere in grado di compilare dal CMD, indipendentemente dalla directory di lavoro corrente, quindi in aggiunta alla variabile JAVA_HOME potrebbe anche essere necessario aggiungere il percorso di ricerca JDK alla variabile Path.
JAVA_HOME vs. Percorso
Se il tuo problema riguarda la compilazione di Java, allora vuoi controllare Variabile JAVA_HOME e Percorso (se applicabile). Se il problema si riferisce all'esecuzione di applicazioni Java, si desidera controllare la variabile Path.
La variabile Path viene utilizzata universalmente in tutti i sistemi operativi. Poiché è definito dal sistema e poiché è la variabile predefinita utilizzata per localizzare JRE, non vi è quasi mai alcun problema nell'esecuzione di applicazioni Java. Soprattutto non su Windows dove gli installatori del software di solito impostano tutto per te. Ma se lo sei installando manualmente, la cosa più sicura da fare è forse saltare del tutto la variabile JAVA_HOME e usare semplicemente la variabile Path per tutto, sia per JDK che per JRE. Qualsiasi versione recente di un software IDE dovrebbe essere in grado di raccoglierlo e usarlo.
Collegamenti simbolici
I collegamenti simbolici possono fornire un altro modo per fare riferimento al percorso di ricerca JDK eseguendo il piggybacking di una delle variabili di ambiente esistenti.
Non sono sicuro delle versioni precedenti di Oracle / Sun JDK / JRE rilascia, ma almeno il programma di installazione per jdk1.8.0_74 aggiunge il percorso di ricerca C:\ProgramData\Oracle\Java\javapath
alla variabile Path, e lo mette all'inizio del valore della stringa. Questa directory contiene collegamenti simbolici a java.exe, javaw.exe e javaws.exe nella directory JRE.
Quindi, almeno con Java 8 JDK, e presumibilmente Java 8 JRE standalone, non è necessario eseguire alcuna configurazione di variabile d'ambiente per JRE. Finché si utilizza il pacchetto di installazione per configurarlo. Ci possono essere differenze sull'installazione di Windows tuttavia. Si noti che Oracle JRE viene fornito in bundle con JDK.
Se mai trovi che la tua configurazione Java JDK sta usando la versione sbagliata del compilatore, o sembra funzionare per magia, senza essere esplicitamente definito così (senza lanciare l'incantesimo), allora potresti avere un collegamento simbolico da qualche parte nelle tue variabili di ambiente. Quindi potresti voler controllare il collegamento simbolico.
Goto risorse del Computer(PC) -> clic destro ->selezionare proprietà -> impostazioni di sistema Avanzate -> variabili d'ambiente-> a le variabili di sistema fare clic su "Nuovo" pulsante e scrivere JAVA_HOME in la variabile nome e il percorso C:\Program Files\Java\jdk1.8.0_131 erano jdk è presente in valore variabile-> fare clic su ok.
Chiudere e riaprire il prompt dei comandi dopo aver impostato JAVA_HOME. A volte le modifiche non riflettono nel cmd aperto prima di impostare il JAVA_HOME.
Puoi anche impostare JAVA_HOME tramite il terminale stesso: IMPOSTA JAVA_HOME="C:\Program File (x86) \ Java \ jdk1.8.0_131"
In Eclipse: Window->Preferences->Java->Installed JREs
Usa la funzione di ricerca per assicurarti che la tua ultima installazione Java sia elencata; quindi assicurati che sia quella selezionata. Questo dovrebbe essere un JDK non un JRE.
Durante l'aggiunta della directory Java alla variabile PATH
, è possibile inserirla all'inizio. Ho avuto il problema, che mettere la directory Java alla fine di PATH
non funzionerebbe. Dopo aver controllato, ho trovato java.exe
nella mia directory Windows\System32
e sembra che il primo vinca, quando ci sono diversi file con lo stesso nome nel tuo PATH
...
EseguireEclipse come Amministratore.
Questo ha risolto il mio problema. Sto ancora cercando la logica dietro di esso.
Se non hai riavviato il computer dopo aver installato jdk, riavvia il computer.
Se si vuole fare un portatile java e set path prima di utilizzare java, basta creare un file batch che ho spiegato di seguito.
Se si desidera eseguire questo file batch all'avvio del computer, è sufficiente inserire il collegamento del file batch nella cartella di avvio. Nella cartella di avvio di Windows 7 è "C:\Users\user\AppData\Roaming\Microsoft\Windows\Start Menu \ Programmi \ Avvio"
Crea un batch file come questo:
set Java_Home=C:\Program Files\Java\jdk1.8.0_11
set PATH=%PATH%;C:\Program Files\Java\jdk1.8.0_11\bin
Nota:
java_home
e path
sono variabili. è possibile effettuare qualsiasi variabile come si desidera.
ad esempio set amir=good_boy
e puoi vedere amir di %amir%
o puoi vedere java_home di %java_home%
Dopo ore di lavoro sulla maggior parte delle soluzioni qui, il problema è stato risolto per me semplicemente installando JDK a 32 bit.
Potresti voler esaminare la cartella Windows/System32 per i seguenti file: - Java.exe - javaw.exe - javaws.exe
Poiché la variabile path include questi file, puoi avere un mal di testa cercando di capire perché la versione java o la versione javac continuano a puntare al vecchio JAVA_HOME: rinominare quei file, estrarre l'estensione con un trattino basso, per esempio. E poi, dovrai solo creare la variabile JAVA_HOME, aggiungerla alla variabile path (ad esempio, %JAVA_HOME%) e aggiungere la particella "\ bin". In questo modo è necessario modificare solo la variabile JAVA_HOME che punta a JRE o JDK diversi e avere più installazioni di java semplicemente impostando JAVA_HOME.
Ciò significa anche che è meglio installare Java manualmente, senza un programma di installazione, in modo da poter giocare con esso.