Javac не устанавливается с openjdk-6-jdk - PullRequest
3 голосов
/ 09 января 2012

Я пробовал несколько разных java-компиляторов на выходных и решил придерживаться javac этим утром. Затем я приступил к очистке системы, вызванной моим тестированием, и удалил все последние следы java, а после автоматического удаления и автоочистки выполнил новую команду «apt-get install openjdk-6-jdk».

Затем встретилась следующая странность:

tarskin@5-PARA-11-0120:~$ 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>

Я уже установил openjdk, но все равно попробовал, получив:

tarskin@5-PARA-11-0120:~$ sudo apt-get install openjdk-6-jdk
[sudo] password for tarskin: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openjdk-6-jdk is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
tarskin@5-PARA-11-0120:~$ 

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

Приветствия

РЕДАКТИРОВАТЬ: обнаружил некоторые другие странные аспекты «нового» экземпляра моего Java-дистрибутива, он, кажется, не распознает, например, «Pattern» или «Matcher», которые должны быть получены из регулярного выражения import shrugs .

Ответы [ 4 ]

9 голосов
/ 26 февраля 2013

TL; DR: установить java-1.6.0-openjdk-devel

У меня была похожая проблема в Fedora, но я использовал rpm -q -l для просмотра содержимого (предустановленной) javaПакет -1.6.0-openjdk, и обнаружил, что он не включает в себя javac.На самом деле это всего лишь JRE, а не JDK, как подразумевается в инструкциях по установке http://openjdk.java.net/install/.Чтобы получить javac, я установил java-1.6.0-openjdk-devel.Не совсем то, что я ожидал, потому что обычные соглашения об упаковке указывают на то, что это пакет для разработки openjdk (т. Е. Для работы с JVM), а не для разработки программ с ним.

По сути, именование пакетов openjdk не 'не следует ни стандартным соглашениям Java (потребуется где-то называть его JRE), либо стандартным соглашениям по пакетированию Linux (использование -devel указывает, что оно используется для разработки пакета без самого -devel).

7 голосов
/ 26 сентября 2013

Согласно http://openjdk.java.net/install/, для установки OpenJDK-6 JRE только:

$ sudo apt-get install openjdk-6-jre

Для установки полной JDK :

$ sudo apt-get install openjdk-6-jdk
3 голосов
/ 09 января 2012

Проверьте /etc/alternatives и /usr/bin.Одна или обе будут содержать ссылки на старые версии Java, которые вы установили.Когда эти ссылки не работают, вы можете получить сообщение об ошибке выше.

Чтобы обновить ссылки после установки новой версии Java, попробуйте update-alternatives

2 голосов
/ 09 января 2012

Сначала, чтобы проверить, установлен ли javac, попробуйте найти этот файл: 1. найти Javac 2. или найдите / -name javac

А также вы можете проверить на этом сайте инструкции по установке java в Ubuntu (я полагаю, вы работаете в Ubuntu):

http://openjdk.java.net/install/

Вы также можете проверить: http://packages.ubuntu.com/hardy/i386/openjdk-6-jdk/filelist для файлов, установленных pacakge, и вы можете заметить, что javac должен быть установлен. Может быть, вам также нужно запустить: Откройте терминал и выполните эту команду для установки OpenJDK 7.0 в Ubuntu Oneiric:

sudo update-альтернативы --config java

...