JAVA_HOME dovrebbe puntare a JDK o JRE?


102

Ho indicato JAVA_HOMEa C:\Program Files (x86)\Java\jre7. Funziona bene. Successivamente, ho decompresso ant e impostato le variabili di ambiente relative ad Ant, ho ricevuto i seguenti messaggi di errore dopo aver digitato"ant -version"

Immagine

Ho cercato in questo forum. Sembra che una soluzione sia indirizzare Java a JDK invece che a JRE. Non sono esattamente sicuro che questa debba essere la soluzione. In altre parole, in generale, a quale dovrebbe puntare JAVA_HOME? JDK o JRE?

Risposte:


121

Se stai facendo qualsiasi tipo di sviluppo o compilando con Maven o Ant, devi puntare al JDK (Java Development Kit) dove risiedono utilità come javac(Java Compiler). Altrimenti, puoi puntare a JRE (Java Runtime Environment).

Il JDK contiene tutto ciò che ha il JRE e altro ancora. Se stai solo eseguendo programmi Java, puoi puntare a JRE o JDK.


7
Quindi JAVA_HOMEviene utilizzato per fare due cose: 1: per strumenti di sviluppo, trovare javac.exe. 2: per strumenti non di sviluppo, ricerca java.exe. Questo sembra violare "uno strumento per una cosa" . Non dovrebbe JDK_HOMEessere usato invece?
Pacerier

4
Il diagramma su questo sito mostra la relazione tra JDK e JRE. docs.oracle.com/javase/8/docs
andrybak

1
È possibile convalidare in modo programmatico se il percorso Java è impostato come JRE o JDK?
Dinesh Kumar P

9

Semplicemente (passa al tuo jdk1.xxx_xx)

JAVA_HOME = C: \ Programmi \ Java \ jdk1.8.0_05


6

Il mio JAVA_HOME punta al JDK. Se ancora non funziona, controlla se hai scaricato ant per Java 7 e non per Java 6.


5

In genere, non importa se lo punti su JRE o JDK. Dipende dall'applicazione che lo utilizza. La documentazione di Ant dice che dovresti puntarlo su JDK per ottenere tutte le funzionalità di Ant.


2

come sviluppatore, dovresti puntare il tuo JAVA_HOME su jdk per accedere al copiler javac ecc. È bene se puoi testare il tuo programma per funzionare su JRE. Se utilizzi un server app, spesso hai bisogno anche del JDK invece del JRE, ma dipende dal server specifico.


2

Puoi usare JDK o JRE ma:

JAVA_HOME viene utilizzato dal programma di avvio per trovare il JDK / JRE da utilizzare. (JDK è consigliato poiché alcune attività richiedono gli strumenti Java.)
. Impostazione ANT_HOME


0

Manteniamolo semplice. Vai alle impostazioni e cerca "Variabili d'ambiente". Quando viene visualizzata la finestra delle variabili di ambiente, creare semplicemente una nuova variabile di SISTEMA facendo clic su NUOVO e quindi SFOGLIARE LA DIRECTORY fino a individuare il percorso di installazione del JDK. Il JDK dovrebbe essere installato nei file di programma e vedrai una cartella JAVA e all'interno della cartella ci sono JDK e JRE ... Se scrivi codice devi selezionare JDK !!! Non ascoltare nessuno che afferma che JRE sarà sufficiente ... NO! NON lo farà! La directory corretta dovrebbe assomigliare a questa C: \ Program Files \ Java \ jdk1.8.0_144 è così semplice!


2
@Stephan Le risposte esistenti forniscono già le informazioni che mi sono preso il tempo di fornire. Questa è la tua giustificazione per il downvoting? Questo è il problema con molti di questi thread. Per prima cosa, solo perché è stato risposto al principio di base non significa che la risposta fosse ben formata o addirittura utile. La mia risposta non è affatto la stessa delle risposte precedenti. La risposta che ho fornito è arrivata con istruzioni precise
nexogen.io
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.