apt-get install openjdk-7-jdk non installa javac. Perché?


24
The program 'javac' can be found in the following packages:
 * openjdk-6-jdk
 * ecj
 * gcj-4.4-jdk
 * gcj-4.6-jdk
 * gcj-4.5-jdk
 * openjdk-7-jdk

Quindi corro sudo apt-get install openjdk-7-jdke tutto funziona. Ma poi javacnon esiste ancora e ottengo lo stesso errore di cui sopra. Stessa cosa con openjdk-6-jdk. Perché?

Risposte:


10

Finché l'installazione è stata completata senza errori, sul tuo sistema è presente un eseguibile javac; per qualche motivo non è stato correttamente collegato a / usr / bin. sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javaccreerà quel collegamento e dovrebbe risolvere il tuo problema.


6
E se non fosse installato correttamente. Non vedo javac nella directory stessa.
Veer Shrivastav,

23

Il modo corretto di Debian / Ubuntu per configurare ciò a cui javacpunta /usr/bin/javacè usare il update-alternativescomando. Puoi farlo in modo interattivo e selezionare da un elenco di opzioni disponibili:

sudo update-alternatives --config javac

Oppure puoi specificare quale opzione desideri sulla riga di comando:

sudo update-alternatives --set javac /usr/lib/jvm/java-7-openjdk/bin/javac

A causa del modo in cui memorizza le informazioni, l'utilizzo update-alternativesnon è esattamente equivalente (ma è invece preferibile) alla creazione manuale di /usr/bin/javaun collegamento simbolico a javacscelta. Vedi man update-alternativesper maggiori informazioni a riguardo.

Se update-alternativesnon funziona, esegui questo comando e riprova:

sudo ln -s /etc/alternatives/javac /usr/bin/javac

13

Ecco cosa ho fatto. Ha funzionato.

Per prima cosa ho installato jdk per Java 7 in questo modo:

sudo apt-get install openjdk-7-jdk

Potrebbe essere abbastanza: controlla e vedi se javac nel tuo PERCORSO eseguendo javac -version

In caso contrario, segui la risposta di Nicholas tranne quella invece di sudo update-alternatives --config javacusare questa:

sudo update-alternatives --config java

E ho selezionato Java 7 al prompt digitando 2:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
* 2            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1051      manual mode

Press enter to keep the current choice[*], or type selection number:

2

Non sono sicuro se questo aiuta, ma ha funzionato per me. Ho avuto questo problema, semplicemente javac non era lì, da nessuna parte, probabilmente perché ho installato solo il jre . Installare jdk dopo che jre lo ha riparato.

sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk
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.