2012-05-30 6 views
11

ho cercato di mvn install e ha ottenuto questo messaggio:Impossibile individuare il Javac compilatore

Compilation failure 
Unable to locate the Javac Compiler in: 
    /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar 
Please ensure you are using JDK 1.4 or above and 
not a JRE (the com.sun.tools.javac.Main class is required). 
In most cases you can change the location of your Java 
installation by setting the JAVA_HOME environment variable. 

Beh, c'è un JDK aperta, ho scaricato anche un altro. Ho cercato di puntare JAVA_HOME sia, ora è impostata:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03 
export JAVA_HOME 
PATH=$PATH:$JAVA_HOME/bin 
export PATH 

Ho anche cercato di scegliere uno di quelli aperti con sudo update-alternatives --config java ma ho ottenuto lo stesso errore con diverse versioni del JDK in esso.

Come posso risolvere il problema? Grazie in anticipo.

+0

qual è l'output di "javac -version" e "which javac"? – Korgen

+1

@Korgen Dopo "javac -version" ho ricevuto "Il programma 'javac' può essere trovato nei seguenti pacchetti" e un suggerimento per installarne uno (beh, c'era già un jdk aperto che è già installato). –

+1

Hai effettuato l'accesso e l'uscita da? – dbalakirev

risposta

18

sembra che il PATH non sia stato rilevato correttamente ... l'output di "echo $ PATH" contiene la directory in cui risiede javac? Vorrei suggerire seguente:

terminale aperto e fare un:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03 
export PATH=$PATH:$JAVA_HOME/bin 
javac -version 
which javac 

se javac -version ancora non funziona creare un link simbolico in/usr/local/bin che punta al tuo javac binario:

cd /usr/local/bin 
ln -s /usr/lib/jvm/jdk1.7.0_03/bin/javac javac 

questo dovrebbe arrivare fino una corsa ... alternativa è quella di provare a impostare fino java tramite il sistema di gestione dei pacchetti (ad esempio "apt-get install java" o sTH. simili)

+0

Grazie, ora ho la versione javac, ma ottengo ancora il fallimento della compilation –

+1

stai eseguendo il maven dallo stesso terminale come dove hai inserito le linee sopra? Il messaggio di errore mvn si riferisce ancora alla directory openjdk oa /usr/lib/jvm/jdk1.7.0_03? – Korgen

+0

Vedere i commenti della domanda, il problema sembra essere risolto, ma grazie comunque, segnerò questa risposta non appena è buona. –

0

Ho affrontato un errore simile su una macchina Ubuntu mentre eseguivo un build di maven da Jenkins. Se l'uscita di 'javac -version' richiede di seguito i messaggi:

"Il programma 'javac' in cui si trovano i seguenti pacchetti: default-JDK ecj gcj-5-jdk openjdk-8-jdk-senza testa gcj-4,8-jdk gcj-4.9-jdk openjdk-9-jdk-senza testa Prova: apt install "

è possibile installare "openjdk-8-jdk-senza testa" utilizzando:

apt installa openjdk-8-jdk-headless

Questo ha risolto il mio problema e il processo di creazione di Maven è andato a buon fine.