apt-get install openjdk-7-jdk не устанавливает 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

Затем я запускаю sudo apt-get install openjdk-7-jdk и все работает. Но тогда javac все еще не существует, и я получаю ту же ошибку, что и выше. То же самое с openjdk-6-jdk. Почему?

24
задан 30 March 2012 в 03:28

4 ответа

Правильный способ настройки Debian / Ubuntu, на который указывает javac /usr/bin/javac, - это использовать команду update-alternatives. Вы можете сделать это в интерактивном режиме и выбрать из списка доступных опций:

sudo update-alternatives --config javac

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

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

Из-за способ хранения информации с использованием update-alternatives не совсем эквивалентен (но вместо этого считается предпочтительным) ручному созданию /usr/bin/java символической ссылки на ваш javac выбор. См. man update-alternatives для получения дополнительной информации об этом.

Если update-alternatives не работает, выполните эту команду и повторите попытку:

sudo ln -s /etc/alternatives/javac /usr/bin/javac
0
ответ дан 30 March 2012 в 03:28

Пока установка завершена без ошибок, есть исполняемый файл javac в вашей системе; по какой-то причине он не был правильно связан с / usr / bin. sudo ln -s /usr/lib/jvm/java-7-openjdk/bin/javac /usr/bin/javac создаст эту ссылку и исправит вашу проблему.

0
ответ дан 30 March 2012 в 03:28

Вот что я сделал. Это сработало.

Сначала я установил jdk для Java 7 следующим образом:

sudo apt-get install openjdk-7-jdk

Этого может быть достаточно: проверьте и посмотрите, есть ли javac в вашем PATH, запустив javac -version

Если нет, то следуйте ответу Николаса, за исключением того, что вместо sudo update-alternatives --config javac используйте это:

sudo update-alternatives --config java

И выбрал Java 7 в приглашении, введя 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:
0
ответ дан 30 March 2012 в 03:28

Не уверенный, если это помогает, но это работало на меня. У меня была эта проблема, , javac был просто не там, где угодно, вероятно, потому что я только установил jre. При установке jdk после jre зафиксировал его.

sudo apt-get install openjdk-8-jre
sudo apt-get install openjdk-8-jdk
1
ответ дан 14 September 2019 в 09:53

Другие вопросы по тегам:

Похожие вопросы: