Javac не работает в терминале ubuntu

Когда я пытаюсь скомпилировать java-программу с javac, я получаю сообщение об ошибке:

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

Когда я пытаюсь java -version, он говорит:

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)

Когда я пытаюсь использовать java, я получаю /usr/bin/java

Как скомпилировать мою программу java из командной строки?

Ответ 1

Как уже упоминалось @Blorgbeard, у вас, скорее всего, нет Java JDK (Java Development Kit). См. эту веб-страницу для получения дополнительной информации о различных версиях Java, доступных для Ubuntu.

Следующая команда установит OpenJDK-версию Java JDK:

apt-get install default-jdk

Ответ 2

У меня Ubuntu 12.10, с java "1.6.0_27", эта команда делает доступным javac:

sudo apt-get install default-jdk

Затем скомпилируйте его следующим образом:

[email protected]:~/retreat3$ javac HelloWorld.java
[email protected]:~/retreat3$ java HelloWorld
Hello, World!

Ответ 3

У меня была такая же проблема. Я использовал следующую команду

sudo apt-get install openjdk-7-jdk

Приложение, скомпилированное после этого. Не знаете, в чем разница в вышеупомянутых решениях. Возможно, мне не пришлось бы указывать версию.

Ответ 4

просто скопируйте и вставьте на свой терминал

sudo apt install openjdk-8-jdk-headless

Ответ 5

В моем случае у меня был установлен JDK, но я установил его вручную, чтобы он не был добавлен в путь. Как только я добавил эти строки в мой .zshrc файл (я использую zsh; если вы используете bash, добавьте их в .bash_profile) и перезапустили терминал, он работал:

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

Ответ 6

Да, это также работает на Linux Mint (версия Linux 3.16.0-38-generic | gcc версия 4.8.2 (Ubuntu 4.8.2-19ubuntu1))!!!!

Если вы не пытаетесь установить эти пакеты:  * default-jdk  * ecj  * gcj-4.8-jdk  * openjdk-6-jdk

Он должен работать!