2013-07-11 25 views
78

Ho indicato il JAVA_HOME to C:\Program Files (x86)\Java\jre7 Funziona bene. In seguito, ho scompattato formica e impostare le variabili di ambiente legati alla formica, ho ottenuto i seguenti messaggi di errore dopo aver digitato "ant -version"quale dovrebbe JAVA_HOME indicare, JDK o JRE

image

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

risposta

88

Se si sta eseguendo qualsiasi tipo di sviluppo o si costruisce con Maven o Ant, è necessario puntare al JDK (Java Development Kit) in cui risiedono utility come javac (il compilatore Java). Altrimenti, è possibile puntare a JRE (Java Runtime Environment).

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

+3

Quindi 'JAVA_HOME' è usato per fare due cose: 1: per gli strumenti di sviluppo, trovare' javac.exe'. 2: per gli strumenti di sviluppo, trovare 'java.exe'. Questo sembra violare ["uno strumento per una cosa"] (https://en.wikipedia.org/wiki/Unix_philosophy#Doug_McIlroy_on_Unix_programming). Non dovrebbe invece essere usato 'JDK_HOME'? – Pacerier

+1

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

+0

È possibile validare in modo pro grammatico se il percorso Java è impostato come JRE o JDK? –

5

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

4

Generalmente, non importa se lo punti a JRE o JDK. Dipende dall'applicazione che lo usa. La documentazione di Ant dice che lo dovrebbe essere puntarlo su JDK per ottenere tutte le funzionalità di Ant.

1

come sviluppatore, dovresti puntare il tuo JAVA_HOME su jdk per accedere al javac copiler, ecc. Va bene se puoi testare il tuo programma per funzionare su JRE. Se si sta utilizzando un app server, spesso è necessario anche il JDK anziché il JRE, ma ciò dipende dal particolare server.

1

È possibile utilizzare il JDK o il JRE ma:

JAVA_HOME viene utilizzato dal programma di avvio per trovare JDK/JRE da utilizzare. (JDK è consigliato in quanto alcune attività richiedono gli strumenti java.)
. ANT_HOME setting

3

Simply (modifica alla jdk1.x.x.x_xx)

JAVA_HOME = C: \ Program Files \ Java \ jdk1.8.0_05

-2

teniamolo semplice. Vai alle impostazioni e cerca "Variabili d'ambiente". Una volta visualizzata la finestra delle variabili d'ambiente, è sufficiente creare una nuova variabile SYSTEM facendo clic su NUOVO e quindi su BROWSE DIRECTORY finché non si individua il percorso di installazione di JDK. Il JDK dovrebbe essere installato nei file di programma e vedrai una cartella JAVA e all'interno della cartella c'è JDK e JRE ... Se scrivi il codice devi selezionare JDK !!! Non ascoltare chi afferma che JRE sarà sufficiente ... NO! NON lo farà! La directory corretta dovrebbe assomigliare a questo C: \ Programmi \ Java \ jdk1.8.0_144 è così semplice!

+0

Le risposte esistenti forniscono già tali informazioni. – Stephan