apt-get install openjdk-7-jdk installiert javac nicht. Warum?

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

Dann laufe ich sudo apt-get install openjdk-7-jdkund alles funktioniert. Existiert dann aber javacimmer noch nicht und ich bekomme den gleichen Fehler wie oben. Gleiches mit openjdk-6-jdk. Warum?

Travis Webb
quelle

Antworten:

10

Solange die Installation fehlerfrei abgeschlossen wurde, befindet sich auf Ihrem System eine ausführbare Java-Datei. es wurde aus irgendeinem Grund nicht korrekt mit / usr / bin verknüpft. sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javacwird diesen Link erstellen und sollte Ihr Problem beheben.

BinaryMage
quelle
6
Was ist, wenn es nicht richtig installiert ist? Ich sehe Javac nicht im Verzeichnis selbst.
Veer Shrivastav
23

Die richtige Debian / Ubuntu-Art zu konfigurieren, auf die von javachingewiesen wird, /usr/bin/javacist die Verwendung des update-alternativesBefehls. Sie können dies interaktiv tun und aus einer Liste verfügbarer Optionen auswählen:

sudo update-alternatives --config javac

Oder Sie können die gewünschte Option in der Befehlszeile angeben:

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

Aufgrund der Art und Weise, wie die Informationen gespeichert werden, entspricht die Verwendung update-alternativesnicht genau der manuellen Erstellung /usr/bin/javaeines symbolischen Links zu Ihrer javacWahl (sondern wird als vorzuziehen angesehen) . Sehen Sie man update-alternativesfür weitere Informationen zu diesem.

Wenn update-alternativesdies nicht funktioniert, führen Sie diesen Befehl aus und versuchen Sie es erneut:

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

Hier ist was ich getan habe. Es funktionierte.

Zuerst habe ich das jdk für Java 7 so installiert:

sudo apt-get install openjdk-7-jdk

Das könnte reichen: Überprüfen Sie, ob sich in Ihrem PATH Java befindet, indem Sie ausführen javac -version

Wenn nicht, dann folge Nicholas 'Antwort mit der Ausnahme, dass stattdessen Folgendes sudo update-alternatives --config javacverwendet wird:

sudo update-alternatives --config java

Und wählte Java 7 an der Eingabeaufforderung durch Eingabe von 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:
Rattenbann
quelle
2

Ich bin mir nicht sicher, ob das hilft, aber es hat bei mir funktioniert. Ich hatte dieses problem, javac war einfach nirgends da, wahrscheinlich weil ich nur das jre installiert habe . Installation des JDK nachdem das JRE es behoben hat.

sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk
Sergiu
quelle