apt-get install openjdk-7-jdk n'installe pas javac. Pourquoi?

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

Ensuite, je cours sudo apt-get install openjdk-7-jdket tout fonctionne. Mais alors javacn'existe toujours pas et j'obtiens la même erreur que ci-dessus. Même chose avec openjdk-6-jdk. Pourquoi?

Travis Webb
la source

Réponses:

10

Tant que l'installation s'est terminée sans erreur, il existe un exécutable javac sur votre système; pour une raison quelconque, il n'a tout simplement pas été correctement lié à / usr / bin. sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javacva créer ce lien et devrait résoudre votre problème.

BinaryMage
la source
6
Que faire s'il n'est pas installé correctement. Je ne vois pas javac dans le répertoire lui-même.
Veer Shrivastav
23

La bonne façon de configurer Debian / Ubuntu pour la configuration qui javacest indiquée par /usr/bin/javacest d'utiliser la update-alternativescommande. Vous pouvez le faire de manière interactive et sélectionner dans une liste d'options disponibles:

sudo update-alternatives --config javac

Ou vous pouvez spécifier l'option que vous souhaitez sur la ligne de commande:

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

En raison de la façon dont il stocke les informations, l'utilisation update-alternativesn'est pas exactement équivalente (mais est plutôt considérée comme préférable) à la création manuelle d' /usr/bin/javaun lien symbolique vers votre javacchoix. Voir man update-alternativespour plus d'informations à ce sujet.

Si update-alternativescela ne fonctionne pas, exécutez cette commande et réessayez:

sudo ln -s /etc/alternatives/javac /usr/bin/javac
Nicolas
la source
13

Voici ce que j'ai fait. Ça a marché.

J'ai d'abord installé le jdk pour Java 7 comme ceci:

sudo apt-get install openjdk-7-jdk

Cela pourrait suffire: vérifiez et voyez si javac dans votre PATH en exécutant javac -version

Sinon, suivez la réponse de Nicolas, sauf qu'au lieu d' sudo update-alternatives --config javacutiliser ceci:

sudo update-alternatives --config java

Et sélectionné Java 7 à l'invite en tapant 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:
ratsbane
la source
2

Je ne sais pas si cela aide, mais cela a fonctionné pour moi. J'ai eu ce problème, javac n'était tout simplement pas là, n'importe où, probablement parce que je n'ai installé que le jre . Installer le jdk après que le jre l'a corrigé.

sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk
Sergiu
la source