web-dev-qa-db-fra.com

javac ne fonctionne pas dans le terminal ubuntu

Lorsque j'essaie de compiler un programme Java avec javac, j'obtiens une erreur:

The program 'javac' can be found in the following packages:
 * default-jdk
 * ecj
 * gcj-4.6-jdk
 * gcj-4.7-jdk
 * openjdk-7-jdk
 * openjdk-6-jdk
Try: Sudo apt-get install <selected package

Quand j'essaie la version Java, ça dit:

Java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-1ubuntu1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)

Quand j'essaie de savoir quel Java je reçois /usr/bin/Java

Comment compiler mon programme Java à partir de la ligne de commande?

15
Prasanna

Comme mentionné par @Blorgbeard, vous n'avez probablement pas de JDK Java (Java Development Kit) installé. Voir cette page Web pour plus d’informations sur les différentes versions de Java disponibles pour Ubuntu. 

La commande suivante installera la version OpenJDK du JDK Java:

apt-get install default-jdk
26
HeatfanJohn

J'ai Ubuntu 12.10, avec Java "1.6.0_27", cette commande rend javac disponible:

Sudo apt-get install default-jdk

Puis compilez-le comme ceci:

el@apollo:~/retreat3$ javac HelloWorld.Java
el@apollo:~/retreat3$ Java HelloWorld
Hello, World!
4
user2862244

J'avais le même problème. J'ai utilisé la commande suivante

Sudo apt-get install openjdk-7-jdk

L'application compilée après cela. Vous ne savez pas quelle est la différence avec les solutions ci-dessus. Peut-être que je n'aurais pas eu à spécifier une version.

2
GlenM

Dans mon cas, j'avais le JDK installé, mais je l'avais installé manuellement pour qu'il ne soit pas ajouté au chemin. Une fois que j'ai ajouté ces lignes à mon fichier .zshrc (j'utilise zsh; si vous utilisez bash, ajoutez-les à .bash_profile) et que vous avez relancé le terminal, cela a fonctionné:

# Java environment variables
export Java_HOME='/opt/Java/jdk1.8.0_144'  #change accordingly; this needs to match your JDK's location!
export PATH=$PATH:$Java_HOME/bin
0
rotarydial

il suffit de copier et coller sur votre terminal

Vous pouvez installer openjdk-8-jdk-headless

0
Sachin from Pune

En fait, la commande Java travaillait sur mon ubuntu 16.04 mais pas sur javac . Au début, je me suis débrouillé avec les chemins de l’environnement et je pensais que tous les packages Java étaient installés.

Ensuite, j’ai essayé la commande update-alternatives --list Java Qui a renvoyé un chemin mais update-alternatives --list javac ne l’a pas fait . Cela m’a expliqué que javac devait être installé et j’ai donc exécuté Sudo apt-get install default-jdk.

Mais si vous obtenez un chemin dans l'exécution du update-alternatives --list javac, je vous suggère d'essayer de configurer votre $ Java_PATH ou de créer des liens symboliques. Vous trouverez de l'aide à ce sujet sur la page incapable de lancer javac sous Ubuntu .

0
arnav