Назад | Перейти на главную страницу

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

Недавно я установил сервер сборки, для работы которого требуется 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.

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

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

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

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

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

Не могли бы вы просто загрузить и установить Sun 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

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

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

(или что-то вроде того)