Ich habe Java in meiner CentOS-Version 5.5 mit dem Befehl yum install Java
installiert. Ich kann jedoch keine Klasse mit Javac kompilieren.
Muss ich ein anderes Paket installieren?
Ich habe versucht, die ausführbare Datei javac
zu finden, kann sie jedoch nicht finden.
/usr/bin/Java
ist wie folgt verlinkt:/usr/bin/Java
-> /etc/alternatives/Java
/etc/alternatives/Java
-> /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/Java
Ich habe folgende Ausgabe von yum list installed |grep Java
gesehen:
Java-1.6.0-openjdk.x86_64 1:1.6.0.0-1.16.b17.el5 installed
tzdata-Java.x86_64 2011b-1.el5 installed
Sie haben nur die Java Runtime Environment (JRE) installiert, die keine javac
enthält. Für javac
müssen Sie die OpenJDK-Entwicklungsumgebung installieren. Sie können Java-devel
oder Java-1.6.0-openjdk-devel
installieren, die beide javac
enthalten.
Übrigens: Sie können herausfinden, welches Paket javac
mit einer yum
search bereitstellt, z.
su -c 'yum provides javac'
auf neueren Releases von CentOS, z. 6 Der Befehl ändert sich in
su -c 'yum provides */javac'
Ein weiterer Hinweis: Die Verwendung von yum
und openjdk
ist nur eine Möglichkeit, das JDK zu installieren. Viele Leute bevorzugen das "ursprüngliche" SDK von Sun/Oracle. Siehe Wie installiert man Java SDK unter CentOS? und Links zu Alternativen.
Für mich mit diesem Befehl gearbeitet:
yum install Java-devel
Verwenden Sie den folgenden Sudo-Befehl:
Sudo yum install Java-1.6.0-openjdk-devel
Ich weiß nicht genau, was yum install Java
tatsächlich installieren wird. Aber um die Existenz von Javac zu überprüfen:
> updatedb
> locate javac
vorzugsweise als Wurzel. Ist dies nicht der Fall, haben Sie wahrscheinlich nur die Java-Laufzeitumgebung (JRE) und nicht das Java Development Kit (JDK) installiert. Am besten erhalten Sie dies von der Oracle-Site : da die Linux-Repos mit den neuesten Versionen möglicherweise etwas hinterherhinken, und sie scheinen auch nur die open-jdk im Gegensatz zu der Oracle/Sun-Version zu liefern, was ich tun würde bevorzuge die Wahl.
Befindet sich das Javac-Programm in einem Verzeichnis, das zu Ihrem PATH gehört?
Ich kenne das CentOS-Äquivalent des Windows-Pfads nicht, aber wenn Sie in das Java-SDK-Verzeichnis wechseln und ./javac ausführen, passiert irgendetwas?
installieren Sie dieselbe Version von javac wie Ihr JRE yum und installieren Sie Java-devel