Frage Was passiert, wenn zwei Versionen eines Terminalbefehls installiert sind?


Zum Beispiel habe ich OpenJDK 6 und 7 beide installiert. Wenn ich renne     javac foo.java Wird mein Programm als Java 6 Programm oder als Java 7 Programm kompiliert?


4
2018-01-23 20:28


Ursprung


Mehrere Duplikate, d.h. installiere jre-7  Wie installiere ich Java? - user unknown


Antworten:


Debian-basierte Distributionen haben ein sogenanntes "alternatives" System, das es ermöglicht, mehr als ein Programm zu installieren, das die gleiche Funktion ausführt (dies beinhaltet auch verschiedene Versionen desselben Programms, wie Java 6 und Java 7). Wie @ user15936 hervorhebt, manipuliert das System Symlinks, so dass "javac" entweder von OpenJDK 6 oder von OpenJDK 7 auf die ausführbare Datei verweisen kann

Der Befehl zur Manipulation der oben genannten Symlinks (der Prozess ist in der Tat komplexer als das, da er einige Konfigurationen enthält, zum Beispiel ändern sich die Manpages usw.) - wird aufgerufen update-alternatives. Sie können lernen, wie Sie es verwenden, indem Sie eingeben man update-alternatives im Terminal.

Um Ihre Frage direkt zu beantworten, können Sie auf diese Weise feststellen, welche Javac-Programmdatei aufgerufen werden soll

update-alternatives --display javac

4
2018-01-23 23:22



Es gibt sogar das spezialisierte update-java-alternatives. - user unknown


Die Antwort ist der jeweilige Zusammenhang /usr/bin/javac

Das wird ausgeführt.

Sie können dies sehen, indem Sie zu /usr/bin/ und sehen Sie den Link javac ist verbunden, indem Sie tun ls -l javac.


1
2018-01-23 20:33





Sie sollten ein Terminal eingeben javac -version und dort bekommst du deine Antwort ...


-1
2018-01-23 20:32



Mit dieser Antwort ist nichts falsch, insbesondere für Benutzer, bei denen Oracle Java (JVM / JDK) nicht mehr als .deb bereitgestellt und manuell installiert wird. Sehr empfehlenswerte Lektüre, vor allem über das "update java" -Skript, welches die verschiedenen Alternativen setzen wird - webupd8.org/2011/09/how-to-install-oracle-java-7-jdk-in.html - doug
Ich habe nicht abgelehnt, aber Java und Java könnten zu verschiedenen Versionen gehören. - user unknown