Удивительно (поскольку OpenJDK 7 был выпущен для общего доступа около 4 месяцев назад), Ubuntu 11.10 по-прежнему использует OpenJDK 6 вместо 7 по умолчанию. Как мне лучше это исправить? Я бы предпочел полностью удалить OpenJDK 6 и позволить OpenJDK 7 быть default-jdk и default-jre.
Мне не нужны официальные архивы Oracle, я хочу deb-репозитории - стандартный способ Ubuntu.
Проблема заключается в том, что пакет default-jre
зависит от OpenJDK 6, и большинство других пакетов имеют свои зависимости, определенные как default-jre | openjdk-6-jre | sun-java6-jre
- так, пока OpenJDK 7 не станет официально поддерживаться и будет использоваться в качестве версии по умолчанию, или пока все зависимые пакеты обновляют свои зависимости, вам придется поддерживать OpenJDK 6 и устанавливать OpenJDK 7 по умолчанию, используя update-java-alternatives
. Пример для 64-разрядной системы:
$ update-java-alternatives -l
java-1.6.0-openjdk 1061 /usr/lib/jvm/java-1.6.0-openjdk
java-1.7.0-openjdk-amd64 1051 /usr/lib/jvm/java-1.7.0-openjdk-amd64
$ sudo update-java-alternatives -s java-1.7.0-openjdk-amd64
В 32-разрядной системе имя каталога будет отличаться, правильное имя можно найти с помощью переключателя -l
. Вторая команда может выплевывать много ошибок; либо используйте переключатель --jre
, либо просто игнорируйте ошибки - скрипт изменяет все, что может, и просто игнорирует остальные.
Теоретически можно отредактировать пакет default-jre
в зависимости от OpenJDK 7, но имейте в виду, что это может принести больше вреда, чем пользы.
Для этого в вашей системе должны быть установлены обе версии jdk. Вы можете использовать apt-get для загрузки обоих.
После этого попробуйте
$ sudo update-alternatives --config java
и выберите jdk, который вы хотите использовать.
Openjdk иногда неблагоприятен для некоторых приложений.
Вам также следует попробовать оракул-яву или сун-яву.
Ссылка ниже очень полезна для этой цели:
http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu via.html
Репо можно найти здесь: https://launchpad.net/~openjdk/+archive/ppa
или:
sudo apt-add-repository ppa:openjdk/ppa
sudo apt-get update
sudo apt-get upgrade
при условии, что вы установили OpenJDK
OpenJDK 7 находится в обычных репозиториях Ubuntu 11.10, если вы ищете openjdk-7-jre и openjdk-7-jdk и устанавливаете их с помощью apt-get / synaptic / software center, они должны заменить openjdk-6, если не могли бы вы сначала удалить пакеты openjdk-6- *, используя apt-get purge openjdk-6-*