Как установить безголовый 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
CoverosGene
источник
0

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

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

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

djangofan
источник