Подтвердить что ты не робот

Не удалось запустить javac на Ubuntu

Я пытаюсь запустить javac на терминале Ubuntu. Но я получаю следующее:

 $ javac
 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
 Try: sudo apt-get install <selected package>

jdk уже установлен и работает sudo apt-get install openjdk-6-jdk говорит 0 upgraded, 0 newly installed, 0 to remove and 322 not upgraded.

Мой jdk установлен в /usr/lib/jvm/java -6-open-jdk; и я могу скомпилировать и запустить java-программу из eclipse. Но я использую эту проблему при использовании терминала.

4b9b3361

Ответ 1

Двоичные файлы javac (и, возможно, другие java файлы) являются/не указаны в переменной user $PATH. Есть несколько способов решить эту проблему:

  • Добавьте /usr/lib/jvm/java-6-open-jdk/bin в пользовательскую переменную среды $PATH. Вы можете сделать это, добавив в свой пользователь строку .bash_profile:

    export PATH=${PATH}:/usr/lib/jvm/java-6-open-jdk/bin

    Вам потребуется перезапустить сеанс терминала, чтобы он вступил в силу.

  • Создайте символические ссылки на java файлы из некоторого каталога, который уже является частью вашего пути (например, /usr/bin)

    sudo ln -s /usr/lib/jvm/java-6-open-jdk/bin/java /usr/bin/
    sudo ln -s /usr/lib/jvm/java-6-open-jdk/bin/javac /usr/bin/

    BTW: В /usr/lib/jvm/java-6-open-jdk/bin есть несколько других исполняемых файлов java. Я показал команды symlink для java и javac выше. Вы должны запустить аналогичную команду для любых других исполняемых файлов, которые вы, возможно, захотите использовать.

  • Используйте полный путь непосредственно в командной строке:

    $ /usr/lib/jvm/java-6-open-jdk/bin/javac

Обновление:

По-видимому, есть элегантное, но Ubuntu-специфическое решение этой проблемы. Когда в системе Ubuntu используйте update-java-alternatives.