Замініть openjdk на oracle-jdk на Ubuntu


53

У мене є система ubuntu, і я хочу замінити свій openjdk на oracle-jdk.

Однак якщо я видаляю open-jdk, а потім встановлюю oracle-jdk, коли я намагаюся встановити деякі пакети, вони хочуть встановити openjdk, і я цього не хочу.

Чи є спосіб встановити ці пакети поверх Oracle-jdk? Одним із таких пакетів є безкоштовна робота.


Для яких пакетів потрібен open-jdk, який ви хочете встановити? (крім вільної)
Сет

Я зловив oracle-jdk, додаючи себе PATHв /etc/profile.d/jdk.sh. Видалення цього файлу та запуск свіжої оболонки дозволило update-alternativesвиконати свою роботу.
jozxyqk

Відповіді:


78

Ви можете повністю видалити OpenJDKта свіжу Установку Oracle Java JDK, виконавши вказані нижче дії.

  1. Видаліть OpenJDKцією командою повністю:

    sudo apt-get purge openjdk-\*
  2. Завантажте Oracle Java JDK тут .

    Примітка: завантажте відповідний файл, наприклад, якщо у вашій системі є x64 Ubuntu (тобто Debian), файл завантаження має назву так:jdk-8u51-linux-x64.tar.gz

    Щоб знайти, яка версія вашої ОС, перевірте тут

  3. Створіть папку, названу javaза /usr/local/допомогою цієї команди:

    sudo mkdir -p /usr/local/java
  4. Скопіюйте завантажений файл у каталог /usr/local/java. Для цього cdв каталог, де знаходиться завантажений файл, використовуйте цю команду для копіювання цього файлу в /usr/local/java/:

    sudo cp -r jdk-8u51-linux-x64.tar.gz /usr/local/java/
  5. CD в /usr/local/java/каталог і витягнути скопійований файл за допомогою цієї команди:

    sudo tar xvzf jdk-8u51-linux-x64.tar.gz
  6. Після вилучення ви повинні побачити папку з назвою jdk1.8.0_51.

  7. Оновіть PATHфайл, відкривши /etc/profileфайл командою sudo nano /etc/profileта вставте наступне в кінці файлу:

    JAVA_HOME=/usr/local/java/jdk1.8.0_51
    PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
    export JAVA_HOME
    export PATH
    
  8. Збережіть і вийдіть.

  9. Повідомте системі, що нова версія Java Oracle доступна за допомогою таких команд:

    sudo update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_51/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_51/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_51/bin/javaws" 1
    
  10. Зробіть Oracle Java JDK за замовчуванням за допомогою наступних команд:

    sudo update-alternatives --set java /usr/local/java/jdk1.8.0_51/bin/java
    sudo update-alternatives --set javac /usr/local/java/jdk1.8.0_51/bin/javac
    sudo update-alternatives --set javaws /usr/local/java/jdk1.8.0_51/bin/javaws
    
  11. Перезавантажте системний PATH / etc / profile за допомогою цієї команди:

    source /etc/profile
  12. Перезавантажте систему.

  13. Перевірте версію Java JDK за java -versionкомандою. Якщо установка успішна, вона відображатиметься так:

    java version "1.8.0_51"
    Java(TM) SE Runtime Environment (build 1.8.0_51-xxx)
    Java HotSpot(TM) Server VM (build 25.51-xxx, mixed mode)
    

Це воно!

Примітка. Ми припускали, що завантажений файл названий jdk-8u51-linux-x64.tar.gzі використовується цим ім'ям у всіх командах, що використовуються на кроках 2, 4 та 5. Це може залежати від типу ОС, типу процесора (тобто, 32 біт або 64 біт)


1
Окрім цього, це правильний спосіб встановити oracle-jdk вручну, доступний пакет WebApd8 PPA, який також буде оновлений. Тому немає необхідності встановлювати кожну нову версію вручну. Дивіться мою відповідь тут: askubuntu.com/questions/466166/…
lschuetze

2
Замість того, щоб використовувати каталог jdk1.8.0_51, створіть символьне посилання з назвою просто "jdk" до цього каталогу і наступного разу оновлення просто витягнете JDK тарбол і відтворіть символьне посилання, і ви закінчите.
ColinM

для користувачів ubuntu: є дуростійкий метод нижче від @mihaic, який добре працює для мене
Carson Ip

Ви рок-зірка
Бхупіндер

Зауважте, що якщо ви хочете завантажити JDK на сервер Ubuntu (без GUI), ви можете скористатись такою командою: wget --header "Cookie: oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/9.0.4+11/c2514751926b4512b076cc82f959763f/jdk-9.0.4_linux-x64_bin.tar.gz" Ви завжди можете скопіювати останню версію, повернувшись на сторінку завантаження Oracle та створивши нову.
Toan Nguyen

20

Вам не потрібно видаляти openjdk, щоб використовувати / встановити jdk oracle. Просто встановіть jdk oracle і налаштуйте, яку Java ви хочете використовувати, налаштувавши її на:

sudo update-alternatives --config java

Довідку можна знайти тут: https://help.ubuntu.com/community/Java


Мені потрібен спосіб мати лише одну Java на моєму ubuntu. tnx.
маленький алі

Це чудова відповідь. Groovy на Debian jessie змушує встановити openjdk, але робота, яку я виконую, вимагає (не вимагаю) для складання JDK Oracle. Цей параметр дозволив мені залишити встановлені openjdk та oracle jdk, щоб все грало добре. Дякую!
sanimalp

11

Випробувано в Ubuntu 14.04 / 16.04. У три етапи:

  1. Встановіть oracle-java7-installer(або oracle-java8-installer) з сховища webupd8team

    sudo add-apt-repository ppa:webupd8team/java
    sudo apt-get update
    sudo apt-get install oracle-java7-installer
    
  2. Переконайтеся, що він працює за допомогою наступної команди:

    java -version

    Він повинен відображати щось подібне до:

    java version "1.7.0_76"
    Java(TM) SE Runtime Environment (build 1.7.0_76-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.76-b04, mixed mode)
    
  3. (Необов’язково) Видаліть open-jdk, якщо ви дійсно хочете / потрібно:

    sudo apt-get purge openjdk-\*

Ви можете знайти більше інформації тут


Виконували ваші вказівки та отримали Unable to find java executable. Check JAVA_HOME and PATH environment variables.помилку
Zack S

здивований, що через рік я знайшов власну відповідь, це все ще працює для Ubuntu 16.04 таoracle-java8-installer
toto_tico

Зрозумів це, додаючи репо:W: The repository 'http://ppa.launchpad.net/natecarlson/maven3/ubuntu xenial Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
crockpotveggies

8

Після видалення openjdk спробуйте такий підхід, який працював на мене:

Встановіть oracle jdk 7 на сервер ubuntu (тестовано з ubuntu 12.0.4)

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

більше інформації тут: https://launchpad.net/~webupd8team/+archive/java

(зверніть увагу, щоб адаптувати це до вашої версії jdk)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.