Установка Sun (Oracle) JDK вместо OpenJDK на Ubuntu 10.04

На днях, по совету Ильи Алшанетского (кстати, одного из разработчиков PHP) решил поставить phpStorm. Скачал и поставил её довольно быстро, но вот незадача, при запуске она писала мне сообщение:

WARNING: You are launching IDE using OpenJDK Java Runtime.
This is strictly unsupported due to numerous OpenJDK perfomance and graphical problems with GUI apps. Please install Sun (Oracle) JDK 1.6+

Хотя IDE и запускалась, но работать с тормозами и множеством багов мне не улыбалось. Обратившись в службу поддержки JetBrains, я получил ответ, что надо указать пусть к другой (Sun) JDK в стартовом скрипте программы (webide.sh). Я честно скачал новую JDK с сайта Oracle, установил, однако куда она поставилась я не понял. Начав искать по ключу jdk я понял, что это будет ну оочень долго. В резульатте на одном из форумов я нашел совет – снести старую openJDK и поставить новую. Это помогло, однако не без граблей. Sun JDK напрочь отсутствует в репозиатриях, и устанавливать его надо так:

UPD: В конце статьи появился более быстрый вариант.

UPD: Для Ubuntu Server 10.10 есть свой быстрый вариант. См. в конце статьи.

Напоминаю, что вся эта канитель нужна только в том случае, если у вас нет пакетов sun-java6-jdk и sun-java6-jre в репозитарии вашего дистрибьютива. Если они есть, то делайте так:

1. Удаляем OpenJDK:

Вместе с ним скорее всего снесется NetBeans и еще кое-чего. Смотрите внимательнее, что удаляете, но не паникуйте. Потом если что, можно будет заново установить.

2. Качаем Sun JDK с офсайта.

http://www.oracle.com/technetwork/java/javase/downloads/jdk6-jsp-136632.html

3. Создаем папки

4. Далее копируем скачанный .bin файл в эту папку и ставим атрибут испольнения на него.

5. Переходим в папку и запускаем бинарник.

Жмем Enter. Java установлена. Теперь начинается самое интересное. Надо сообщить, что у насе сть новая Java:

и заставить её быть в системе по-умолчанию:

Для 32-битной версии всё будет аналогично.

После этого phpStorm запустился без ошибок.

На английском см. раздел “HOW-TO FOR 64 BIT UBUNTU”-> Install JRE (64-bit)

Более быстрый вариант установки

Никакие пакеты не удаляем. Скачиваем Java по ссылке. Выполняем бинарник, после чего получим папку jdk1.6.0_21, которую копируем в /usr/lib/jvm. Далее просто меняем симлинк ~default-java с java-6-openjdk на jdk1.6.0_21

Установка Sun (Oracle) JDK в Ubuntu 10.10 Server

31 Comments

  1. Ну как это нет jdk в репозиториях? Всё намного проще
    # apt-get install sun-java6-jdk
    в webide.sh добавить строку перед первым if-ом
    export JDK_HOME=/usr/lib/jvm/java-6-sun
    можно даже не удалять опен ждк.
    Работает на ура! 🙂

    1. У меня в Ubuntu 10.04 нет 🙁

      andrey@vaio:~$ sudo apt-get install sun-java6-jdk
      [sudo] password for andrey:
      Чтение списков пакетов… Готово
      Построение дерева зависимостей
      Чтение информации о состоянии… Готово
      Пакет sun-java6-jdk недоступен, но упомянут в списке зависимостей другого пакета.
      Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list
      E: Для пакета sun-java6-jdk не найдены кандидаты на установку
      andrey@vaio:~$

      1. В таком случае качаем официальный jdk по вашей ссылке в «более быстром варианте» и в начало webide.sh, после установки в любую папку jdk’a, пишем export JDK_HOME=/home/landm/Soft/jdk1.6.0_19/ (например)
        Мне это помогло, а быстрый ваш способ, почему-то не сработал

        1. Тоже вариант. Можно в любую папку поставить и переопределить переменную окружения.

  2. Не обратил внимания – у меня 32х-битная.. в этом-то и разница скорее всего 🙂

    1. Видимо да. А в репозитариях для Ubuntu 10.04 x86_32 есть этот пакет?

  3. На самом деле все проще:

    “1. sudo add-apt-repository “deb http://archive.canonical.com/ lucid partner”
    2. sudo aptitude update
    3. sudo aptitude install sun-java6-jdk

    Then you have to select it:

    sudo update-alternatives –config java”
    http://forums.sun.com/thread.jspa?threadID=5428712

    P.S.
    у меня пришлось в запустить потом sudo apt-get install sun-java6-jdk т.к. сохранился менеджер пакетов с предыдущей версии убунты

  4. Установил по вашему туториалу, но возникло несколько неточностей/ошибок:
    –У вас автоматические подставление тире вместо двух дефисов (ладно я, но многие могут так и не понять)
    –Для 32 качается jdk-6u21-linux-i586.bin (именно jdk, а не jre)
    –Для скачивания с официального сайта требуется аккаунт, причем при скачивании предлагают создать акк в Sun (заканчивается провалом – оно считает, что я не все заполнил), поэтому сначала нужно зарегистрироваться в Oracle (ссылка вверху страницы) и эти данные вписать при скачке.
    P.S. А за статью спасибо, помогло.
    P.P.S У вас серия значков loginza сливается с окончанием предшествующего текста 🙂

    1. Спасибо за поправки, Антон!
      Тире поправил, теперь там отображается два дефиса. По поводу 32х битной версии так и есть (jdk), и мне кажется (судя по комментам) она есть в пакетах. Для скачивания с сайта Oracle действительно надо регистрироваться.
      P.S. Рад, что статья помогла вам. Значит вы уже на наступите на эти грабли 🙂
      P.P.S. Иконки поправил, спасибо! Пока не разлогинился, на заметил.

      1. по поводу 32-битной – не нашел, вывело ту же ошибку, что Вы привели (… Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list …)

        1. Хм, видимо юзер Raint и Антон СТарцев был не прав…

          1. Ну, насколько я понимаю, Антон старцев добавляет новый репозиторий, в котором содержится Sun JDK.

  5. в Установка Sun (Oracle) JDK в Ubuntu 10.10 Сервер следовало бы дописать
    sudo apt-get update
    после добавления репозитория иначе пакет не будет найден

  6. Подскажите пожалуйста, где взять файл webide.sh?
    уменя в папке bin находится PhpStorm.sh – это он и есть?

    1. Скорее всего да, у меня файл-запускалка так назывался.

  7. Спасибо Андрей
    Еще один глупый вопрос. В настройках нашел только как поменять шрифт для меню программы а где меняется шрифт открытого документа так и не понял, может вы подскажите?

    1. Очень симпатичная, спасибо! У меня почти такая же в Zend Studio сейчас стоит 🙂

  8. Еще способ!
    Цент приложений – Правка – Источники приложений – Другое ПО – Добавить – ppa:ferramroberto/java – Добавить источник.
    В строке поиска набираем sun-java6-jre и устанавливаем.

  9. Далее просто меняем симлинк ~default-java с java-6-openjdk на jdk1.6.0_21

    А как это сделать ?

    1. Удалить старый, создать новый, или изменить в mc (midnight commander).

  10. “А вы пробовали выключить и включить компьютер?” ))
    Счас такая проблемка встала. Netbeanse надо JDK. Пощел в менеджер пакетов. Есть такой пакет по поиску jdk. Пробую установить, ругается, что нет его в репах. Ну думаю бред. На ноуте все тоже самое, все отлично скачалось и встало. И тут вышеназванная цитата и вспомнилась.
    sudo apt-get update && sudo apt-get upgrade
    Снова открываю Synaptic, пробую установить и ОООПА! Все встало.

Leave a Comment