Как установить безголовый JDK на сервер Ubuntu Jaunty?


8

Недавно я настроил сервер сборки, для которого требуется JDK (например, для компиляции исходных текстов Java). Пакет OpenJDK в Ubuntu использует OpenJDK JRE как зависимость, которая, в свою очередь, зависит от большого количества пакетов, которые имеют отношение только к графическим средам. Для стандартной JRE есть версия пакета без заголовка, а для JDK - нет.

Эта проблема обсуждалась ранее в разных местах, и одним из решений, которое я нашел и использовал, было следующее:

$ apt-get --no-install-recommends -d install openjdk-6-jdk
$ dpkg -i --ignore-depends=openjdk-6-jre /path/to/just-downloaded.deb

Несмотря на то, что это сработало, теперь моя система перестает работать с деревом зависимостей, и apt-get отказывается устанавливать его до тех пор, пока я не запустлюсь apt-get -f.

Есть ли лучшее решение для этого?

Ответы:


4

Это обсуждалось в следующей ошибке Ubuntu .

Насколько я вижу, у вас есть следующие варианты:

  1. Используйте несвободный Java JDK от Sun. (Вы можете использовать программу JavaPackage из debian / ubuntu для создания deb pacakge несвободного java JDK).
  2. Работайте с разработчиками Ubuntu, чтобы решить эту проблему.
  3. Создайте свой собственный пакет OpenJDK без головы.

Конечно, вариант 2 является лучшим в долгосрочной перспективе, поскольку он решает проблему для всех, а варианты 1 и 3 решают ее только для вас, однако 1 и 3 быстрее.


1
Эта ветка ошибок не выглядит для меня многообещающе. Кажется, что есть некоторые побочные эффекты, которые необходимо решить, и сопровождающий, кажется, не слишком заинтересован в решении проблемы. Я, вероятно, буду эгоистичным и пойду на Sun JDK.
Ханно Фиц

1
Что я должен сделать для реализации варианта 3? См. Serverfault.com/questions/755573 для моего вопроса.
Equaeghe

2

Не могли бы вы просто загрузить и установить Sun's JDK? Нет компиляции, X11 не требуется. Я предпочитаю это упакованным вариантам.

chmod +x ~/jdk-6u14-linux-i586.bin
cd /usr
sudo mkdir java
cd java
sudo ~/jdk-6u14-linux-i586.bin
export JAVA_HOME=/usr/java/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH

0

Я подозреваю, что ему просто нужно обновить ссылки на etc-альтернативы:

update-alternatives --set java /usr/lib/jvm/default-java/bin/java

(или что-то типа того)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.