apt-get install openjdk-7-jdk no instala javac. ¿Por qué?

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

Luego corro sudo apt-get install openjdk-7-jdky todo funciona. Pero javacaún así no existe y obtengo el mismo error que el anterior. Lo mismo con openjdk-6-jdk. ¿Por qué?

Travis Webb
fuente

Respuestas:

10

Siempre y cuando la instalación se ha completado sin errores, no es un archivo ejecutable javac en su sistema; por alguna razón simplemente no se vinculó correctamente a / usr / bin. sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javaccreará ese enlace y debería solucionar su problema.

BinaryMage
fuente
66
¿Qué pasa si no está instalado correctamente? No veo javac en el directorio en sí.
Veer Shrivastav
23

La forma correcta de configurar Debian / Ubuntu a la que javacapunta /usr/bin/javaces usar el update-alternativescomando. Puede hacerlo de forma interactiva y seleccionar de una lista de opciones disponibles:

sudo update-alternatives --config javac

O puede especificar qué opción desea en la línea de comandos:

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

Debido a la forma en que almacena la información, el uso update-alternativesno es exactamente equivalente (sino que se considera preferible) para hacer manualmente /usr/bin/javaun enlace simbólico a su javacelección. Ver man update-alternativespara más información sobre esto.

Si update-alternativesno funciona, ejecute este comando e intente nuevamente:

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

Esto es lo que hice. Funcionó.

Primero instalé el jdk para Java 7 de esta manera:

sudo apt-get install openjdk-7-jdk

Eso podría ser suficiente: compruebe y vea si javac en su RUTA ejecutando javac -version

Si no, entonces siga la respuesta de Nicholas, excepto que en lugar de sudo update-alternatives --config javacusar esto:

sudo update-alternatives --config java

Y seleccionó Java 7 en el indicador escribiendo 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
fuente
2

No estoy seguro si esto ayuda, pero funcionó para mí. Tuve este problema, javac simplemente no estaba allí, en ningún lado, probablemente porque solo instalé el jre . Instalando el jdk después de que el jre lo reparó .

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