Як я можу встановити фірмову Java JDK 6/7/8 або JRE Sun / Oracle?


559

Я хочу встановити JRE Oracle та оновити до останньої версії за допомогою програмного оновлення програмного забезпечення після їх випуску. Чи є пакет Ubuntu, який надається Canonical або Oracle?

Перед випуском Java 7 я дотримувався цього способу встановлення Java 6 .

Але це не працює для Java 7 . Пакету немає sun-java7-xxx. Як можна встановити Java 7 ?


11
Я також хотів би зазначити, що використання OpenJDK - це більше, ніж життєздатна альтернатива: це також довідкова реалізація зараз .
nickguletskii

11
openJdk не підтримується аплікаціями банків або іншим програмним забезпеченням. приклад: Aptana Studio
Elzo Valugi

4
посилання на "цей шлях", здається, виявляє ... немає опису способу?
rogerdpack

@ElzoValugi Я думаю, що вам може знадобитися чай з льодом для використання банківських аплетів. Він заснований на OpenJDK.
GKFX

1
@GKFX ні, для цього конкретного банку IcedTea не працював, і банк підтримував лише Java Oracle. Тим часом вони кинули використовувати Java, і я думаю, що це було розумним рішенням.
Ельцо Валугі

Відповіді:


881

Існує аналогічна відповідь, як встановити JRE 7.

Встановіть Java JDK

Ручний спосіб

  • Завантажте 32-розрядний або 64-розрядний Linux "стислий бінарний файл" - він має розширення файлу ".tar.gz".

  • Віджати його

    tar -xvf jdk-8-linux-i586.tar.gz (32-розрядна)

    tar -xvf jdk-8-linux-x64.tar.gz (64-розрядна)

    Пакет JDK 8 витягується в ./jdk1.8.0каталог. Примітка: Уважно перевірте це ім'я папки, оскільки Oracle, здається, періодично змінює це з кожним оновленням.

  • Тепер перемістіть каталог JDK 8 на /usr/lib

    sudo mkdir -p / usr / lib / jvm
    sudo mv ./jdk1.8.0 / usr / lib / jvm /
    
  • Тепер біжи

    sudo update-alternative --install "/ usr / bin / java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1
    sudo update-alternative --install "/ usr / bin / javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
    sudo update-alternative --install "/ usr / bin / javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1
    

    Це призначить Oracle JDK пріоритетом 1, а це означає, що встановлення інших JDK замінить його за замовчуванням . Обов’язково використовуйте більш високий пріоритет, якщо ви хочете, щоб Oracle JDK залишався за замовчуванням.

  • Виправте право власності на файл та дозволи на його виконання:

    sudo chmod a + x / usr / bin / java
    sudo chmod a + x / usr / bin / javac
    sudo chmod a + x / usr / bin / javaws
    sudo chown -R root: root /usr/lib/jvm/jdk1.8.0
    

    NB: Пам'ятайте - у Java JDK є ще багато виконуваних файлів, які ви можете аналогічно встановити, як вище. java, javac, javawsЙмовірно, найбільш часто потрібно. У цій відповіді перераховані інші доступні виконавські файли.

  • Біжи

    sudo update-alternative --config java
    

    Ви побачите вихід, схожий на наведений нижче - виберіть кількість jdk1.8.0 - наприклад, 3у цьому списку (якщо ви ніколи не встановлювали Java на свій комп’ютер, у такому випадку з’явиться речення із записом "Налаштувати нічого". ):

    $ sudo update-alternatives --config java
    There are 3 choices for the alternative java (providing /usr/bin/java).
    
      Selection    Path                                            Priority   Status
    ------------------------------------------------------------
      0            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      auto mode
      1            /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java   1071      manual mode
    * 2            /usr/lib/jvm/jdk1.7.0/bin/java                   1         manual mode
      3            /usr/lib/jvm/jdk1.8.0/bin/java                   1         manual mode
    
    Press enter to keep the current choice[*], or type selection number: 3
    update-alternatives: using /usr/lib/jvm/jdk1.8.0/bin/java to provide /usr/bin/java (java) in manual mode

    Повторіть вищезазначене для:

    sudo update-alternatives --config javac
    sudo update-alternatives --config javaws

Примітка для користувачів NetBeans!

Потрібно встановити новий JDK як редагування файлу конфігурації за замовчуванням .


Якщо ви хочете включити плагін Mozilla Firefox:

32 bit:
ln -s /usr/lib/jvm/jdk1.8.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

64 bit:
ln -s /usr/lib/jvm/jdk1.8.0/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

Примітка: ви можете прив’язати плагін ( libnpjp2.so) до /usr/lib/firefox/plugins/встановлення на загальну систему ( /usr/lib/firefox-addons/pluginsпочинаючи з 15.04). Для Ubuntu 13.10 шлях до каталогу плагінів є /usr/lib/firefox/browser/plugins/.

Залежно від конфігурації, вам може знадобитися оновити профіль apparmor для Firefox (або інших браузерів) у /etc/apparmor.d/abstractions/ubuntu-browsers.d/java:

# Replace the two lines:
#  /usr/lib/jvm/java-*-sun-1.*/jre/bin/java{,_vm} cx -> browser_java,
#  /usr/lib/jvm/java-*-sun-1.*/jre/lib/*/libnp*.so cx -> browser_java,
# with those (or adapt to your new jdk folder name)
/usr/lib/jvm/jdk*/jre/bin/java{,_vm} cx -> browser_java,
/usr/lib/jvm/jdk*/jre/lib/*/libnp*.so cx -> browser_java,

Потім перезапустіть apparmor:

sudo /etc/init.d/apparmor restart

Простий спосіб (застарілий)

Примітка: PPA команди WebUpd8 було припинено з 16 квітня 2019 року. Таким чином, у цього PPA немає файлів Java. Додаткову інформацію можна знайти на сторінці PPA на Launchpad . Отже, цей метод вже не діє і існує з-за ворожих причин.

Найпростіший спосіб встановити JDK 7 - це зробити це за допомогою Web Up8 Oracle Java OOS. Однак існує думка, що цей ПДА іноді застарілий. Також зверніть увагу на небезпеку використання PPA .

Тут встановлено JDK 7 (який включає Java JDK, JRE та плагін браузера Java):

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
# or if you want JDK 8:
# sudo apt-get install oracle-java8-installer
# these commands install Oracle JDK7/8 and set them as default VMs automatically:
# sudo apt-get install oracle-java7-set-default
# sudo apt-get install oracle-java8-set-default

Джерело

NB: Перш ніж хтось кричить, це проти ліцензії на перерозподіл Oracle - PPA насправді не має Java в особистому сховищі. Натомість, PPA безпосередньо завантажує з Oracle та встановлює його.

Сценарій шлях

Якщо у вас є нова установка Ubuntu без попередніх установок Java, цей скрипт автоматизує описаний вище процес, якщо ви не хочете вводити все це в консоль. Пам'ятайте, що вам все ще потрібно завантажити Java з веб-сайту Oracle - посилання Oracle не є wgetдружніми.

Перш ніж використовувати це, переконайтеся, що цей скрипт знаходиться в тому самому каталозі, .tar.gzщо і завантажене вами розширення файлу, і в одній папці відсутні файли, які починаються з jdk-7. Якщо є, будь ласка, тимчасово перемістіть їх із папки. Не забудьте зробити сценарій виконуваним ( chmod +x <script's file>).

#!/bin/sh

tar -xvf jdk-7*
sudo mkdir /usr/lib/jvm
sudo mv ./jdk1.7* /usr/lib/jvm/jdk1.7.0
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws

Якщо ви хочете встановити плагін для Firefox, додайте це до кінця сценарію:

mkdir ~/.mozilla/plugins
ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
sudo /etc/init.d/apparmor restart

Перевірте, чи інсталяція пройшла успішно

Ви можете перевірити, чи вдалася установка, виконавши таку команду:

java -version

Ви повинні побачити щось подібне

java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)

Ви можете перевірити, чи вдався плагін JRE Mozilla за допомогою офіційного веб-сайту oracle .


Для Java 6: Як встановити Oracle JDK 6?


8
Чи потрібно зробити все той же процес, щоб оновити його?
Луціо

5
Для мене це вдало встановило 32-розрядний JDK на Ubuntu 12.04LTS, за винятком того, що я отримував, bash: /usr/bin/java: No such file or directoryколи намагався запустити java -version. apt-get install libc6-i386виправили проблему.
gregmac

4
Я пропоную використовувати /usr/local/*замість /usr/*будь-якої ручної установки, як тут. Таким чином, те, що ви встановлюєте вручну, не захаращуйте речі, якими керує менеджер пакунків, і зробить установку вручну більш керованою
Flint

4
Я настійно рекомендую ручний вихід з цього. Це найнадійніший. PPA вже не працює, оскільки ліцензія Oracle Java є ліцензованою. І вищенаведений сценарій передбачає, що ви використовуєте компілятор і час виконання, і версія в ньому застаріла.
ДжонМерліно

1
Як я можу встановити manpage?
Тім

173

Існує аналогічна відповідь, як встановити JDK 8

Встановіть JRE

Завантажте 32-розрядний або 64-розрядний Linux "стислий бінарний файл" - у ньому є розширення файлу ".tar.gz" і розпакуйте його

tar -xvf jre-7-linux-i586.tar.gz

Пакет JRE 7 витягується в каталог ./jre1.7.0. Тепер перемістіть каталог JRE 7 у /usr/lib:

sudo mv ./jre1.7.0* /usr/lib/jvm/jre1.7.0

Потім виконайте наступне, щоб отримати список встановлених на даний момент альтернатив Java.

sudo update-alternatives --config java

Ви отримаєте вихід у вигляді:

There are 2 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode

Press enter to keep the current choice[*], or type selection number:

Запам'ятайте останнє число і натисніть клавішу Enter, щоб вийти з цієї утиліти, тобто в цьому прикладі запам'ятайте номер 2.

Якщо показана лише одна альтернатива, запам'ятайте число 0.

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jre1.7.0/bin/java 3

Це додасть вашу нову установку JRE 7 до списку альтернатив, тобто використовуйте запам'ятоване число + 1, тобто 3 у наведеному вище прикладі. Тепер налаштуйте Java для використання ORE Java JRE:

sudo update-alternatives --config java

Ви побачите подібний вихід нижче - виберіть кількість jre1.7.0, тобто 3:

There are 3 choices for the alternative java (providing /usr/bin/java).

Selection Path Priority Status
————————————————————
* 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 auto mode
1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 manual mode
2 /usr/lib/jvm/java-6-sun/jre/bin/java 63 manual mode
3 /usr/lib/jvm/jre1.7.0/jre/bin/java 3 manual mode

Press enter to keep the current choice[*], or type selection number: 3
update-alternatives: using /usr/lib/jvm/jre1.7.0/jre/bin/java to provide /usr/bin/java (java) in manual mode.

Примітка: Якщо не було попередньої установки Java, то за замовчуванням буде новий JRE, і ви не побачите вищезгаданого.

Перевірте версію нової установки JRE 7:

java -version

Це повинно виробляти

java version 1.7.0
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) Client VM (build 21.0-b17, mixed mode)

Встановіть плагін Firefox / Chrome

У терміналі:

mkdir ~/.mozilla/plugins

Видаліть плагін IcedTea, якщо він був встановлений.

sudo apt-get remove icedtea6-plugin

Видаліть попередню версію плагіна Java (може бути, а може і не бути):

rm ~/.mozilla/plugins/libnpjp2.so

Тепер ви можете встановити плагін, створивши символічне посилання (ви повідомте Firefox, де розміщений плагін). Для 32-бітного використання Java

ln -s /usr/lib/jvm/jre1.7.0/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Для 64-бітного використання Java

ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

Переконайтесь, що JRE досяг успіху за допомогою офіційного веб-сайту oracle .


10
Після запуску sudo update-alternatives --config javaя отримую такий результат: There is only one alternative in link group java: /usr/lib/jvm/java-6-openjdk/jre/bin/java Nothing to configure.Що я роблю неправильно?
Шон

7
чудова відповідь, дякую! Цікаво, чому Oracle не може витратити час на виготовлення пакунків для цього ....
bbqchickenrobot

1
@Shoan, у такому випадку перейдіть до кроку "якщо показана лише одна альтернатива, тоді запам'ятайте число 0"
henrique

3
Дякую за цю відповідь, інструкції Oracles - це сміття для нобіусів Linux, це значно полегшило!
Девід Баркер

1
Хоча цей метод працює - apt-get не буде знати, що у вас встановлено java. Тому намагаючись встановити такі інструменти, як мураха, maven тощо, все одно захоче встановити openjdk. Натомість щось на зразок webupd8.org/2012/01/… працювало для мене чудово!
Бред

100

Ось перевірене та робоче рішення для встановлення Oracle JDK 7 та всіх його файлів так "javac", а все інше працює: Як встановити Oracle Java 7 (JDK) в Ubuntu

Ось команди (тільки для зручності):

  1. Завантажте останню версію Oracle JDK 7 звідси .
  2. Витягніть завантажений архів JDK Oracle Java у домашній папці - слід створити нову папку під назвою "jdk1.7.0_03" (для оновлення Java JDK7 3). Перейменуйте його на "java-7-oracle" і перемістіть його в / usr / lib / jvm за допомогою наступних команд:
cd
sudo mkdir -p /usr/lib/jvm/      #just in case
sudo mv java-7-oracle/ /usr/lib/jvm/

3. Встановіть оновлений пакет Java, створений Bruce Ingalls (пакети, доступні для Ubuntu 11.10, 11.04, 10.10 та 10.04):

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install update-java

4. Тепер запустіть таку команду в терміналі, щоб встановити Oracle Java JDK:

sudo update-java

Виберіть версію Java, яку ви хочете встановити, і встановіть її за замовчуванням

Через кілька хвилин Oracle Java JDK має бути успішно встановлений на вашій машині Ubuntu. Ви можете перевірити версію, виконавши ці команди в терміналі:

java -version
javac -version

ПОВІДОМЛЕННЯ! Ця частина нижче цієї відповіді більше не працює через те, що Java змінює спосіб випуску своїх бінарних файлів. Він був залишений таким, який є з історичних причин.

Оновлення Oracle випустила Java 8 (стабільна). Щоб встановити його, використовуйте наступні команди:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

Більше інформації @ WebUpd8: Встановіть Oracle Java 8 в Ubuntu через сховище PPA [JDK8]


Я думаю, що цей сценарій буде працювати для Gnome (інструменти), але вимагає багато додаткових встановлень, як для машини Kubuntu (наприклад, відсутній gksudo на Kubuntu).
Marcin Gil

хороше і відносно безболісне рішення на Precision, щойно встановлений на ньому
jdk1.7.0_03

Я просто використовував цей метод, щоб також розмістити jdk1.7.0_03 на Precision beta 2. Це спрацювало, хоча було повідомлено про помилку (очевидно, в Зеніті); Схоже, помилка не вплинула на результат.
Келлі

1
спробував його на ubuntu 13.04 і він працює. +1 спасибі
mamdouh alramadan

1
Додайте інформацію про те, що, якщо ми не хочемо видалити жодний існуючий jdk, тоді нам слід пропустити перше діалогове вікно, яке видалить існуючий jdk
Anwar

94

ПОВІДОМЛЕННЯ! Це рішення більше не працює через те, що Java змінює спосіб випуску своїх бінарних файлів. Як результат, ця відповідь більше не є дійсною. Він був залишений таким, який є з історичних причин.

Від http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html :

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

15
Мені цікаво, чому більшість людей спокушається використовувати першу відповідь, яка є досить складною і вимагає багато ручної роботи, як, наприклад, завантаження інсталятора на вашу машину та переміщення його на сервер. Ваша відповідь проста і ефективна !!! TX
sorin

4
@SorinSbarnea Деякі люди не люблять користуватися сторонніми сховищами, оскільки з цього приводу вони не завжди оновлюються або є в Інтернеті.
umop aplsdn

На сервері Ubuntu мені довелося використовувати "sudo apt-get install python-software-властивості", щоб отримати команду add-apt-repository.
Марк Батлер

@SorinSbarnea, тому що сховище, як правило, застаріло
dstarh

1
Зауважте, що Webupd8 PPA також містить сценарій, який встановить Oracle Java за замовчуванням (корисно, якщо у вас встановлено кілька JRE / JDK), встановіть його sudo apt-get install oracle-java8-set-default. Також зауважте, що ця відповідь трохи застаріла, ймовірно, ви повинні встановити oracle-java8-installerці дні.
JonasCz

39

Ось як я встановив його в Oneiric саме зараз. Це буде досить тривала відповідь, але це працювало для мене.

Завантажте останню версію Java SDK 1.7.0 з Oracle. Потім витягніть його в / usr / lib / jvm :

cd /usr/lib/jvm/
sudo tar -xvzf ~/jdk-7-linux-x64.tar.gz
sudo mv jdk1.7.0 java-7-oracle
sudo ln -s java-7-oracle java-1.7.0-oracle

Після цього я створив файл .java-1.7.0-oracle.jinfo у / usr / lib / jvm із наступним вмістом:

alias=java-7-oracle
priority=100
section=non-free

jre ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel
jre java /usr/lib/jvm/java-7-oracle/jre/bin/java
jre java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm
jre javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws
jre jcontrol /usr/lib/jvm/java-7-oracle/jre/bin/jcontrol
jre keytool /usr/lib/jvm/java-7-oracle/jre/bin/keytool
jre pack200 /usr/lib/jvm/java-7-oracle/jre/bin/pack200
jre policytool /usr/lib/jvm/java-7-oracle/jre/bin/policytool
jre rmid /usr/lib/jvm/java-7-oracle/jre/bin/rmid
jre rmiregistry /usr/lib/jvm/java-7-oracle/jre/bin/rmiregistry
jre unpack200 /usr/lib/jvm/java-7-oracle/jre/bin/unpack200
jre orbd /usr/lib/jvm/java-7-oracle/jre/bin/orbd
jre servertool /usr/lib/jvm/java-7-oracle/jre/bin/servertool
jre tnameserv /usr/lib/jvm/java-7-oracle/jre/bin/tnameserv
jre jexec /usr/lib/jvm/java-7-oracle/jre/lib/jexec
jdk appletviewer /usr/lib/jvm/java-7-oracle/bin/appletviewer
jdk apt /usr/lib/jvm/java-7-oracle/bin/apt
jdk extcheck /usr/lib/jvm/java-7-oracle/bin/extcheck
jdk idlj /usr/lib/jvm/java-7-oracle/bin/idlj
jdk jar /usr/lib/jvm/java-7-oracle/bin/jar
jdk jarsigner /usr/lib/jvm/java-7-oracle/bin/jarsigner
jdk java-rmi.cgi /usr/lib/jvm/java-7-oracle/bin/java-rmi.cgi
jdk javac /usr/lib/jvm/java-7-oracle/bin/javac
jdk javadoc /usr/lib/jvm/java-7-oracle/bin/javadoc
jdk javah /usr/lib/jvm/java-7-oracle/bin/javah
jdk javap /usr/lib/jvm/java-7-oracle/bin/javap
jdk jconsole /usr/lib/jvm/java-7-oracle/bin/jconsole
jdk jdb /usr/lib/jvm/java-7-oracle/bin/jdb
jdk jhat /usr/lib/jvm/java-7-oracle/bin/jhat
jdk jinfo /usr/lib/jvm/java-7-oracle/bin/jinfo
jdk jmap /usr/lib/jvm/java-7-oracle/bin/jmap
jdk jps /usr/lib/jvm/java-7-oracle/bin/jps
jdk jrunscript /usr/lib/jvm/java-7-oracle/bin/jrunscript
jdk jsadebugd /usr/lib/jvm/java-7-oracle/bin/jsadebugd
jdk jstack /usr/lib/jvm/java-7-oracle/bin/jstack
jdk jstat /usr/lib/jvm/java-7-oracle/bin/jstat
jdk jstatd /usr/lib/jvm/java-7-oracle/bin/jstatd
jdk native2ascii /usr/lib/jvm/java-7-oracle/bin/native2ascii
jdk rmic /usr/lib/jvm/java-7-oracle/bin/rmic
jdk schemagen /usr/lib/jvm/java-7-oracle/bin/schemagen
jdk serialver /usr/lib/jvm/java-7-oracle/bin/serialver
jdk wsgen /usr/lib/jvm/java-7-oracle/bin/wsgen
jdk wsimport /usr/lib/jvm/java-7-oracle/bin/wsimport
jdk xjc /usr/lib/jvm/java-7-oracle/bin/xjc
plugin xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so
plugin mozilla-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so

Тоді вам потрібно повідомити альтернативи оновлення про всі нові речі:

$ sudo -sH
Password:
# update-alternatives --quiet --install /usr/lib/xulrunner-addons/plugins/libjavaplugin.so xulrunner-1.9-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so 100
# update-alternatives --quiet --install /usr/lib/mozilla/plugins/libjavaplugin.so mozilla-javaplugin.so /usr/lib/jvm/java-7-oracle/jre/lib/amd64/libnpjp2.so 100
# update-alternatives --quiet --install /usr/bin/appletviewer appletviewer /usr/lib/jvm/java-7-oracle/bin/appletviewer 100 --slave /usr/share/man/man1/appletviewer.1 appletviewer.1 /usr/lib/jvm/java-7-oracle/man/man1/appletviewer.1
# update-alternatives --quiet --install /usr/bin/apt apt /usr/lib/jvm/java-7-oracle/bin/apt 100 --slave /usr/share/man/man1/apt.1 apt.1 /usr/lib/jvm/java-7-oracle/man/man1/apt.1
# update-alternatives --quiet --install /usr/bin/extcheck extcheck /usr/lib/jvm/java-7-oracle/bin/extcheck 100 --slave /usr/share/man/man1/extcheck.1 extcheck.1 /usr/lib/jvm/java-7-oracle/man/man1/extcheck.1
# update-alternatives --quiet --install /usr/bin/idlj idlj /usr/lib/jvm/java-7-oracle/bin/idlj 100 --slave /usr/share/man/man1/idlj.1 idlj.1 /usr/lib/jvm/java-7-oracle/man/man1/idlj.1
# update-alternatives --quiet --install /usr/bin/jar jar /usr/lib/jvm/java-7-oracle/bin/jar 100 --slave /usr/share/man/man1/jar.1 jar.1 /usr/lib/jvm/java-7-oracle/man/man1/jar.1
# update-alternatives --quiet --install /usr/bin/jarsigner jarsigner /usr/lib/jvm/java-7-oracle/bin/jarsigner 100 --slave /usr/share/man/man1/jarsigner.1 jarsigner.1 /usr/lib/jvm/java-7-oracle/man/man1/jarsigner.1
# update-alternatives --quiet --install /usr/bin/javac javac /usr/lib/jvm/java-7-oracle/bin/javac 100 --slave /usr/share/man/man1/javac.1 javac.1 /usr/lib/jvm/java-7-oracle/man/man1/javac.1
# update-alternatives --quiet --install /usr/bin/javadoc javadoc /usr/lib/jvm/java-7-oracle/bin/javadoc 100 --slave /usr/share/man/man1/javadoc.1 javadoc.1 /usr/lib/jvm/java-7-oracle/man/man1/javadoc.1
# update-alternatives --quiet --install /usr/bin/javah javah /usr/lib/jvm/java-7-oracle/bin/javah 100 --slave /usr/share/man/man1/javah.1 javah.1 /usr/lib/jvm/java-7-oracle/man/man1/javah.1
# update-alternatives --quiet --install /usr/bin/javap javap /usr/lib/jvm/java-7-oracle/bin/javap 100 --slave /usr/share/man/man1/javap.1 javap.1 /usr/lib/jvm/java-7-oracle/man/man1/javap.1
# update-alternatives --quiet --install /usr/bin/jconsole jconsole /usr/lib/jvm/java-7-oracle/bin/jconsole 100 --slave /usr/share/man/man1/jconsole.1 jconsole.1 /usr/lib/jvm/java-7-oracle/man/man1/jconsole.1
# update-alternatives --quiet --install /usr/bin/jdb jdb /usr/lib/jvm/java-7-oracle/bin/jdb 100 --slave /usr/share/man/man1/jdb.1 jdb.1 /usr/lib/jvm/java-7-oracle/man/man1/jdb.1
# update-alternatives --quiet --install /usr/bin/jhat jhat /usr/lib/jvm/java-7-oracle/bin/jhat 100 --slave /usr/share/man/man1/jhat.1 jhat.1 /usr/lib/jvm/java-7-oracle/man/man1/jhat.1
# update-alternatives --quiet --install /usr/bin/jinfo jinfo /usr/lib/jvm/java-7-oracle/bin/jinfo 100 --slave /usr/share/man/man1/jinfo.1 jinfo.1 /usr/lib/jvm/java-7-oracle/man/man1/jinfo.1
# update-alternatives --quiet --install /usr/bin/jmap jmap /usr/lib/jvm/java-7-oracle/bin/jmap 100 --slave /usr/share/man/man1/jmap.1 jmap.1 /usr/lib/jvm/java-7-oracle/man/man1/jmap.1
# update-alternatives --quiet --install /usr/bin/jps jps /usr/lib/jvm/java-7-oracle/bin/jps 100 --slave /usr/share/man/man1/jps.1 jps.1 /usr/lib/jvm/java-7-oracle/man/man1/jps.1
# update-alternatives --quiet --install /usr/bin/jrunscript jrunscript /usr/lib/jvm/java-7-oracle/bin/jrunscript 100 --slave /usr/share/man/man1/jrunscript.1 jrunscript.1 /usr/lib/jvm/java-7-oracle/man/man1/jrunscript.1
# update-alternatives --quiet --install /usr/bin/jsadebugd jsadebugd /usr/lib/jvm/java-7-oracle/bin/jsadebugd 100 --slave /usr/share/man/man1/jsadebugd.1 jsadebugd.1 /usr/lib/jvm/java-7-oracle/man/man1/jsadebugd.1
# update-alternatives --quiet --install /usr/bin/jstack jstack /usr/lib/jvm/java-7-oracle/bin/jstack 100 --slave /usr/share/man/man1/jstack.1 jstack.1 /usr/lib/jvm/java-7-oracle/man/man1/jstack.1
# update-alternatives --quiet --install /usr/bin/jstat jstat /usr/lib/jvm/java-7-oracle/bin/jstat 100 --slave /usr/share/man/man1/jstat.1 jstat.1 /usr/lib/jvm/java-7-oracle/man/man1/jstat.1
# update-alternatives --quiet --install /usr/bin/jstatd jstatd /usr/lib/jvm/java-7-oracle/bin/jstatd 100 --slave /usr/share/man/man1/jstatd.1 jstatd.1 /usr/lib/jvm/java-7-oracle/man/man1/jstatd.1
# update-alternatives --quiet --install /usr/bin/native2ascii native2ascii /usr/lib/jvm/java-7-oracle/bin/native2ascii 100 --slave /usr/share/man/man1/native2ascii.1 native2ascii.1 /usr/lib/jvm/java-7-oracle/man/man1/native2ascii.1
# update-alternatives --quiet --install /usr/bin/rmic rmic /usr/lib/jvm/java-7-oracle/bin/rmic 100 --slave /usr/share/man/man1/rmic.1 rmic.1 /usr/lib/jvm/java-7-oracle/man/man1/rmic.1
# update-alternatives --quiet --install /usr/bin/schemagen schemagen /usr/lib/jvm/java-7-oracle/bin/schemagen 100 --slave /usr/share/man/man1/schemagen.1 schemagen.1 /usr/lib/jvm/java-7-oracle/man/man1/schemagen.1
# update-alternatives --quiet --install /usr/bin/serialver serialver /usr/lib/jvm/java-7-oracle/bin/serialver 100 --slave /usr/share/man/man1/serialver.1 serialver.1 /usr/lib/jvm/java-7-oracle/man/man1/serialver.1
# update-alternatives --quiet --install /usr/bin/wsgen wsgen /usr/lib/jvm/java-7-oracle/bin/wsgen 100 --slave /usr/share/man/man1/wsgen.1 wsgen.1 /usr/lib/jvm/java-7-oracle/man/man1/wsgen.1
# update-alternatives --quiet --install /usr/bin/wsimport wsimport /usr/lib/jvm/java-7-oracle/bin/wsimport 100 --slave /usr/share/man/man1/wsimport.1 wsimport.1 /usr/lib/jvm/java-7-oracle/man/man1/wsimport.1
# update-alternatives --quiet --install /usr/bin/xjc xjc /usr/lib/jvm/java-7-oracle/bin/xjc 100 --slave /usr/share/man/man1/xjc.1 xjc.1 /usr/lib/jvm/java-7-oracle/man/man1/xjc.1
# update-alternatives --quiet --install /usr/bin/java-rmi.cgi java-rmi.cgi /usr/lib/jvm/java-7-oracle/bin/java-rmi.cgi 100
# update-alternatives --quiet --install /usr/bin/ControlPanel ControlPanel /usr/lib/jvm/java-7-oracle/jre/bin/ControlPanel 100
# update-alternatives --quiet --install /usr/bin/java java /usr/lib/jvm/java-7-oracle/jre/bin/java 100
# update-alternatives --quiet --install /usr/bin/java_vm java_vm /usr/lib/jvm/java-7-oracle/jre/bin/java_vm 100
# update-alternatives --quiet --install /usr/bin/javaws javaws /usr/lib/jvm/java-7-oracle/jre/bin/javaws 100
# update-alternatives --quiet --install /usr/bin/jcontrol jcontrol /usr/lib/jvm/java-7-oracle/jre/bin/jcontrol 100
# update-alternatives --quiet --install /usr/bin/keytool keytool /usr/lib/jvm/java-7-oracle/jre/bin/keytool 100
# update-alternatives --quiet --install /usr/bin/pack200 pack200 /usr/lib/jvm/java-7-oracle/jre/bin/pack200 100
# update-alternatives --quiet --install /usr/bin/policytool policytool /usr/lib/jvm/java-7-oracle/jre/bin/policytool 100
# update-alternatives --quiet --install /usr/bin/rmid rmid /usr/lib/jvm/java-7-oracle/jre/bin/rmid 100
# update-alternatives --quiet --install /usr/bin/rmiregistry rmiregistry /usr/lib/jvm/java-7-oracle/jre/bin/rmiregistry 100
# update-alternatives --quiet --install /usr/bin/unpack200 unpack200 /usr/lib/jvm/java-7-oracle/jre/bin/unpack200 100
# update-alternatives --quiet --install /usr/bin/orbd orbd /usr/lib/jvm/java-7-oracle/jre/bin/orbd 100
# update-alternatives --quiet --install /usr/bin/servertool servertool /usr/lib/jvm/java-7-oracle/jre/bin/servertool 100
# update-alternatives --quiet --install /usr/bin/tnameserv tnameserv /usr/lib/jvm/java-7-oracle/jre/bin/tnameserv 100
# update-alternatives --quiet --install /usr/bin/jexec jexec /usr/lib/jvm/java-7-oracle/jre/lib/jexec 100

Тепер ви можете використовувати альтернативи оновлення для вибору нещодавно встановленого Java SDK.

# update-alternatives --config java              # Select java-1.7.0-oracle
# update-java-alternatives --set java-1.7.0-oracle
# exit
$

Це спрацювало для мене, якщо є більш елегантний спосіб (без використання сторонніх договорів про захист), я би радий почути про це. Мені ще потрібно перевірити Firefox, чи зможу я запустити Java в ньому.


1
Працює чудово, за винятком того, що остаточна команда видає помилку (хоча все інше працює, навіть у Firefox / Chrome). Здається, це встановлено за замовчуванням, встановленого OpenJDK6 за допомогою Oneiric. "Update-alternative - alternative: error: немає альтернатив для -javaplugin.so." У прихованому .java.1.6.0.jinfo файлі, схоже, існує альтернатива, яка вказує на -javaplugin.so. Ми повинні зробити третю альтернативну точку libnpjp2.so, можливо, з нею?
Ніколі

2
Я вирішив поставити кроки, згадані BigWhale вище, у простому сценарії оболонки. Єдиний крок вручну - це завантажити 64-бітний tar.gz з сайту Oracle. Погляньте на інструкції тут.
липень

1
Це єдине рішення, яке показує, як додати чоловічі сторінки!
DavidG

@DavidG Рішення Чужого Андрія також працює бездоганно
Анвар

1
Також це рішення призначено для 64-бітного Ubuntu. для 32-бітного, ми повинні мати i386замістьamd64
Анвар

26

ОНОВЛЕНА ВІДПОВІДЬ:

Я пропоную використовувати один із встановників із webupd8team ppa таким чином:

1) Введіть ці 2 команди в Термінал, щоб додати цей PPA та оновити список ваших пакетів:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update

2) Введіть одну (або більше) з цих команд, щоб встановити потрібні вам Java-файли:

  • sudo apt-get install oracle-java6-installer
  • sudo apt-get install oracle-java7-installer
  • sudo apt-get install oracle-java8-installer
  • sudo apt-get install oracle-java9-installer

3) Коли завантажується відповідний сценарій інсталятора Java, а потім він завантажує та встановлює власні пакети Java, ви також можете ввести наступну команду, щоб перевірити результат установки:

java -version

Потім слід отримати термінальний вихід (для стабільної версії java8) таким чином:

java version "1.8.0_72"
Java(TM) SE Runtime Environment (build 1.8.0_72-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.72-b15, mixed mode)

Додаткова інформація: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html

Примітка. Ці пакети надають Oracle Java JDK, що включає Java JDK, JRE та плагін браузера Java. А PPA webupd8team / java містить лише ці інсталятори, які просто підключаються до сайту завантаження Oracle Java та встановлюють останні JDK.


1
Дякую за відповідь Лише таким чином мій Chrome JRE працював!
Фатих Каратана

він встановлює тільки jre або весь jdk, якщо цілий jdk, то який спосіб обмежити встановлення лише на jre?
Раджат Гупта

чи надає мені такий тип встановлення автоматичних оновлень, оскільки вони випускаються та не збираються додавати цю програму, додаючи на мій сервер інші види програмного забезпечення?
Раджат Гупта

4
Тут встановлено JDK : "Цей пакет надає Oracle Java JDK 7 (який включає Java JDK, JRE та плагін браузера Java). Однак ви не можете встановити лише Oracle JRE - PPA надає лише повний пакет Oracle JDK7." ref
kiri

16

Я ціную всі попередні відповіді. Я хочу додати цю відповідь, щоб спростити те, що робиться www.webupd8.org, щоб зробити встановлення за 2-5 хвилин .

Ця установка включає:

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

Це все!! Тепер перевірити версію Java

java -version

Вихід буде подібний

java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) Server VM (build 23.25-b01, mixed mode

Можливо, вийде нова версія, і тоді ви можете просто оновити її за допомогою цієї команди:

sudo update-java-alternatives -s java-7-oracle

Налаштування змінних середовища

sudo apt-get install oracle-java7-set-default

Щоб дізнатися більше, ознайомтеся з Інсталяція Oracle Java 7 в Ubuntu через сховище PPA .


3
2-5 хвилин? пройшло 77 хвилин

3
Приємне рішення. Це слід підвищувати вгору. Час установки може зайняти більше 5 хвилин, залежно від швидкості вашого Інтернету (завантаження становить ~ 70 МБ). Що стосується налаштування машини Java за замовчуванням, я вважаю за краще: sudo update-alternatives --config java.
ландроні

15

Це рішення дасть вам чисті вбудовані пакети так само, як раніше вони постачалися з Ubuntu, перш ніж Oracle з'явився.

Відповідь

Спочатку відповідь, потім пояснення. Відкрийте термінал і скопіюйте та вставте наступне, рядок за рядком.

wget https://raw.githubusercontent.com/ladios/oab-java6/master/oab-java.sh -O oab-java.sh
chmod +x oab-java.sh
sudo ./oab-java.sh

Це створить офіційні пакети sun-java6- * та зробить їх доступними в програмному центрі. Якщо ви також хочете пакети Oracle-java7- *, запустіть сценарій так:

sudo ./oab-java.sh -7

Тепер ви можете встановити пакунки з бажаним менеджером пакунків.

Пояснення

Коли Oracle змінив ліцензію на розповсюдження Java, дистрибутивам Linux більше не дозволялось оновлювати офіційні пакети. Користувач Github rraptorr взяв скрипт Debian, який використовувався для збирання пакетів до цього часу, і модифікував його для роботи з оновленими завантаженнями з Oracle. Тепер він пропонує сценарії упаковки для SUN Java6 та Oracle Java7 .

Oab.java.sh сценарій просто обгортка , яка автоматично завантажує поточну версію, створює пакети і додає їх в локальне сховище.

Подальші замітки

Пакети, створені та встановлені за допомогою цього методу, не отримуватимуть оновлення автоматично - лише під час повторного запуску сценарію. Ви можете обійти це, створивши cronjob, який запускає цей сценарій на регулярній основі. Найбезпечніший спосіб зробити це - використання anacron, помістивши скрипт у /etc/cron.daily .

wget https://raw.githubusercontent.com/ladios/oab-java6/master/oab-java.sh -O /root/oab-java.sh
chmod +x /root/oab-java.sh
ln -s /root/oab-java.sh /etc/cron.daily/oab-java

Тепер ваші офіційні пакети Java завжди будуть актуальними.


1
У мене було стільки проблем із цим сценарієм -_-
qodeninja

@qodeninja, як що? У мене ніколи не було проблем із цим сценарієм. Виконання 3-го рядка вище, безумовно, буде працювати на кожній машині Ubuntu, якщо вона не зламана.
mniess

У мене є новий екземпляр linode ubuntu 10.04, і я намагався встановити jre 7 за допомогою цього сценарію. Сценарій буде висіти занадто довго через відсутність залежностей. Тоді мені довелося зупинити скрипт і встановити залежності самостійно за допомогою apt-get. Навіть після того, як у мене все було встановлено, сценарій все ще не вдався.
qodeninja

Сценарій насправді нічого особливого не робить. Здається, що з вашим ящиком щось не так. Я користувався цим (і є) з 8.04 до 12.04 і ніколи не мав проблем. Я просто спробував це на своєму сервері 10,04, який майже ванільний, і він також працює. Як і слід, тому що цей скрипт не більше, ніж використовує старі сценарії debian build, які пакувальники використовували для sun-java * для debian (та ubuntu).
mniess

На Lubuntu 15.04 починається нормально, але через деякий час я отримуюdebian/rules:67: recipe for target 'get-orig-source' failed make: *** [get-orig-source] Error 22 make: Leaving directory '/var/local/oab/src' 11678's retcode: 2 failed
rubo77

10

Це спрацювало для моїх потреб у розробці вміння запускати / компілювати 1.6 або 1.7. Раніше я тільки працював на 1.6 з підходящим пакетом Ubuntu.

  1. Завантажте 1,7 gzip .
  2. Витягнути в папку
  3. Оновіть JAVA_HOME та PATH у файлі bash

    JAVA_HOME=/opt/java/jdk1.7.0_25
    export JAVA_HOME
    
    PATH=$JAVA_HOME/bin:$PATH
    export PATH

9

У AMD64 вам потрібно трохи змінити команду для створення символічного посилання:

ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so ~/.mozilla/plugins/

змінити лише i386на amd64.


Гарний крик! 64-розрядний мій 12.04 не працював, поки я не прочитав вашу відповідь. Дякую!
Scaine

2
-1. Ця відповідь повністю поза контекстом ..
landroni

1
Це не відповідь на запитання. Натомість це має бути коментар
Анвар

7

Щоб зробити його доступним для всіх користувачів:

sudo ln -s /usr/lib/jvm/jre1.7.0/lib/i386/libnpjp2.so /usr/lib/mozilla/plugins/

для x86_64:

sudo ln -s /usr/lib/jvm/jre1.7.0/lib/amd64/libnpjp2.so /usr/lib/mozilla/plugins/

1
Дуже дякую! Це те, чого не вистачало моїй Java для роботи над firefox.
ThiagoPonte

7

Отримайте JDK від Oracle / Sun; завантажити JDK Java за адресою:

http://www.oracle.com/technetwork/java/javase/overview/index.html

Для зручності завантажте або перемістіть завантажений файл у домашній каталог ~.

Примітка:

  • Не хвилюйтеся про те, що JDK завантажити для JEE.

  • Пропустіть копіювання підказки "user @ host: ~ $".

  • Натисніть Enter після кожної команди.

Запуск у терміналі ..

user@host:~$ sudo mkdir -p /usr/lib/jvm/
user@host:~$ sudo mv jdk-7u4-linux-i586.tar.gz /usr/lib/jvm/
user@host:~$ cd /usr/lib/jvm/
user@host:~$ sudo tar zxvf jdk-7u4-linux-i586.tar.gz

Тепер увімкніть Java (запуск окремо):

user@host:~$ sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0_04/bin/java" 1
user@host:~$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0_04/bin/javac" 1
user@host:~$ sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0_04/bin/javaws" 1

Закрийте всі веб-переглядачі.

Створіть папку плагінів Mozilla у своєму домашньому каталозі:

user@host:~$ mkdir ~/.mozilla/plugins/

Створіть символічне посилання на свою папку плагінів Mozilla. Для 64-бітних систем замініть "i386" на "amd64":

user@host:~$ ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Тестування:

user@host:~$ java -version

Вихід:

java version "1.7.0_04"
Java(TM) SE Runtime Environment (build 1.7.0_04-b20)
Java HotSpot(TM) Server VM (build 23.0-b21, mixed mode)

Тестування:

user@host:~$ javac -version

Вихід:

javac 1.7.0_04

Перевірте JRE за адресою http://java.com/en/download/installed.jsp .


6

Я написав повідомлення в блозі з дуже детальним поясненням того, як встановити Java 7 на Natty, як OpenJDK, так і Sun:

http://brunoreis.com/tech/installing-java-ubuntu-natty/

OpenJDK встановлюється з PPA, наданого Деміеном Леканом, а Sun встановлюється вручну. Наскільки відомо, до цих пір це єдиний правильний посібник як у кроках, так і в поясненні.

Якщо у вас виявляються проблеми, опублікуйте коментар там, і я спробую це виправити.

Удачі.


18
будь ласка, намагайтеся не відповідати на зовнішні матеріали як відповідь - дайте найбільш відповідні частини у своїй відповіді. Причина полягає в тому, що зовнішні посилання можуть зникнути в майбутньому - і тому інші не зможуть посилатися на відповідь у майбутньому. Дякую.
fossfreedom

Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Кевін Боуен

5

Я пропоную один із способів полегшити встановлення Java 7 у Oracle.

Оскільки Ubuntu не надає пакети Java 7 для Oracle, я надаю колекцію пакетів Ubuntu у власному сховищі пакунків.

Пакети повністю інтегровані у спосіб Ubuntu для підтримки Java. Ви зможете вибрати альтернативу Java 7 для Oracle за допомогою стандартних інструментів: альтернатива оновлення або оновлення-Java-альтернатива.

Основна сторінка мого внеску: http://www.arakhne.org/jdk/index.html

Для отримання пакетів вам потрібно лише додати моє сховище пакунків до вашої конфігурації системи. Процес пояснюється на http://www.arakhne.org/ubuntu.html

Стефан.


10
... просто доброзичлива порада - перевірити ліцензію на перерозподіл Oracle ... Ви не хочете, щоб адвокати Oracle переслідували вас!
fossfreedom

1
Будь ласка, не публікуйте повторних відповідей на різні запитання. Це просто створює більше роботи для модераторів. Якщо запитання настільки схожі, що одна і та ж відповідь працює на кожного, то пізніший із двох, ймовірно, є дублікатом і повинен бути позначений як такий.
RolandiXor


4

Для тих, хто живе в Сирії, Кубі, Лівії, Кореї чи будь-якій країні, де Oracle забороняє свої послуги, це робочий спосіб встановити Oracle JDK 8.

  1. Використовуючи PROXY, перейдіть за цим посиланням і прийміть умови, а потім завантажте tar.gz, відповідний вашій системі (32 або 64 біт).
  2. Перемістіть тарбол у каталог завантажень у вашій домашній папці.
  3. запустіть цей сценарій як sudo:


if [[ $UID != 0 ]]; then
  echo "This script neeeds to be run with sudo, like this:"
  echo -e "\n  sudo $0 $*\n"
  exit 1
fi
apt-get install python-software-properties
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer
if [ ! -f $HOME/Downloads/jdk-8u5-linux-*.tar.gz ]; then
  echo "The JDK tar.gz file was not found in $HOME/Downloads. please download it, put it in $HOME/Downloads and run again."
  exit 1
fi
cp ~/Downloads/jdk-8u5-linux-*.tar.gz /var/cache/oracle-jdk8-installer/
apt-get install oracle-java8-installer
apt-get install oracle-java8-set-default
java -version

3

Для встановлення 32-розрядного варіанту Java на 64-бітній Ubuntu:

Відкрийте вікно терміналу ( Ctrl+ Alt+ T- найшвидший метод, якщо ви не знаєте) та введіть наступне для встановлення:

sudo add-apt-repository "deb http://download.tuxfamily.org/arakhne/ubuntu precise-arakhne universe"

wget http://download.tuxfamily.org//arakhne/public.key -O - | sudo apt-key add -
apt-get install ia32-oracle-java7-jre

3

Для мене це трохи інакше. Для Ubuntu 12.04 LTS Precision (Настільний ПК):

  1. Завантажити jre-*.tar.gz

  2. tar -zxvf jre-*.tar.gz

  3. mkdir /usr/lib/jvm/

  4. mv jre* /usr/lib/jvm/

  5. ln -s /usr/lib/jvm/jre*/bin/java /usr/bin/

Це все.

Щоб переконатися в правильності:

java -version

Якщо ви хочете додати модуль для Firefox чи Chrome:

  1. mkdir ~/.mozilla/plugins

  2. ln -s /usr/lib/jvm/jre*/lib/i386/libnpjp2.so ~/.mozilla/plugins/

Особлива примітка. Якщо у вас встановлена ​​64-бітна інсталяція, під час запуску може виникнути наступна помилка java -version

-bash: ./java: No such file or directory

Це викликано залежністю від libc6-i386пакета, який за замовчуванням не входить у 64-бітний Ubuntu Desktop 12.04 LTS. Щоб встановити цей пакет, запустіть: sudo apt-get install libc6-i386


1
Вказані вами інструкції щодо додавання плагіна для Firefox або Chrome взагалі не впливають на Chrome. Chrome не використовує вміст .mozillaпапки.
Елія Каган

3

Ось базовий сценарій, який може допомогти у створенні альтернатив Java:

#!/bin/bash

BIN_HOME="/usr/bin"
JVM_BIN_HOME="/usr/lib/jvm/jdk1.7.0_21/bin"

UPDATE_CMD="update-alternatives"
UPDATE_OPT="--install"
UPDATE_DEFAULT_PRIORITY=10

echo "Installing alternatives for Oracle JDK."
#echo "JAVA_BIN_HOME=$JAVA_BIN_HOME"
#echo "BIN_HOM=$BIN_HOME"
echo "All cmds in \"$JVM_BIN_HOME\" will be installed in \"$BIN_HOME\" with \"$UPDATE_CMD\""
echo

# 
# Calls update-alternatives.
# Param 1 is the java cmd name and optionally param 2 is the priority
# See 'man update-alternatives' for more information.
# 
function update_alt() {
    if [ -z "$2" -o "${2}xxx" = "xxx" ]; then
    echo "using default priority: $UPDATE_DEFAULT_PRIORITY"
    PRIORITY=$UPDATE_DEFAULT_PRIORITY
    else
    PRIORITY=$2
    fi

    EXEC="$UPDATE_CMD $UPDATE_OPT $BIN_HOME/$1 $1 $JVM_BIN_HOME/$1 $PRIORITY"
    echo $EXEC
    $EXEC
    return 0
}

for bin in $JVM_BIN_HOME/*
do
    if [ -x $bin ]; then
    cmd=$(basename $bin)

    if [ -x $BIN_HOME/$cmd ]; then
        echo "notice: alternative already installed, \"$cmd\""
        continue # Skip installation of alternative.
    fi

    echo "install alternative: $cmd"
    update_alt $cmd
    if [ ! -x $BIN_HOME/$cmd ]; then
        echo "error: failed to install alternative, \"$cmd\""
        exit 1
    fi
    fi
done

exit 0

3

Безпосереднє рішення

Замість завантаження .tar.gzпакета я рекомендую завантажити його .rpm. Потім запустіть:

sudo apt-get install alien dpkg-dev debhelper build-essential
sudo alien --scripts jdk-7u-linux-.rpm 

де я вважаю, що поточний <build>- 21, і це <version>залежить від вашої архітектури системи.

Перший встановить інопланетянин, додаток для переходу .rpmв .deb. Потім друга команда запускає чужорідного в пакет jdk. Це має працювати протягом хвилини-двох і створювати файл із написом:

jdk-7u<build>-linux-<version>.deb

Потім цей пакет може бути встановлений запуском:

sudo dpkg -i jdk-7u<build>-linux-<version>.deb

Ось так я успішно встановив його на своїй машині.


1
Чи оновить це альтернативи? ймовірно, лише скопіюйте файли.
DavidG

3

Я думаю, що найкращий метод вже розміщено, але у мене була проблема з цим: а саме я видаляю Java вручну, update-alternativesа потім я спробував це зробити

update-alternatives --install "/usr/bin/java/" "java" "/usr/lib/jvm/jre1.7.0_05/bin/java" 1

але я продовжував отримувати цю помилку

оновлення-альтернативи: використання /usr/lib/jvm/jre1.7.0_05/bin/java для надання / usr / bin / java / (java) в автоматичному режимі. оновлення-альтернативи: помилка: не вдається зробити /usr/bin/java/.dpkg-tmp символьним посиланням на / etc / alternative / java: такого файлу чи каталогу немає

Але, на щастя, я зіткнувся з чудовим посібником на цьому сайті: http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html, і він працював чудово :)


Найкраще було б, якщо ви розмістили тут основну інформацію (щоб зробити самостійну відповідь).
Пітер Мортенсен

/usr/bin/javaне папка, тому помилка
Anwar

2

Найкращий спосіб, який я можу надати, якщо ви хочете встановити Java 6 під Ubuntu 12.04 LTS (Precision Pangolin), це:

sudo apt-get purge sun-java

Це потрібно зробити, якщо ви хочете, щоб, наприклад, плагін Mozilla працював без конфлікту з Java 7.

mkdir ~/src

cd ~/src
git clone https://github.com/flexiondotorg/oab-java6.git
cd ~/src/oab-java6
sudo ./oab-java.sh

Потім, коли вона закінчена, встановіть Java:

sudo apt-get install sun-java6-plugin sun-java6-jre sun-java6-bin sun-java6-jdk

Ви можете слідкувати за процесом встановлення за допомогою:

tail -f ~/src/oab-java6/oab-java.sh.log

Пояснення : те саме, що у відповіді на те, як я можу встановити фірмовий Java Sun JDK 6/7/8 Sun або Oracle або JRE? .

Посилання : Встановлення Java6 JDK на Ubuntu 12.04


2

Для мене Debian способом (sic) було б створити власний пакет.

Ви встановлюєте java-package

sudo apt-get install java-package

Ви завантажуєте архів Oracle tar.gz.

Ви створюєте свій пакет дебютів

fakeroot make-jpkg jdk-7u79-linux-x64.tar.gz

Ви встановите його

sudo dpkg -i oracle-java7-jdk_7u79_amd64.deb

2

Наприклад, завантажте бажану .tar.gzверсію JDK для вашої системи Ubuntu http://oracle.com, наприклад jdk-8u102-linux-x64.tar.gz.

/homeНаприклад, витягніть його в будь-яке місце у каталозі /home/dante/Programs/Java. Тепер у нас папка з назвою, як jdk1.8.0_102всередині /home/dante/Programs/Java.

Додайте ці два рядки у /home/dante/.profileфайл

export JAVA_HOME=/home/dante/Programs/Java/jdk1.8.0_102
export PATH=$JAVA_HOME/bin:$PATH

Перезавантажте систему і після перезавантаження ви побачите свою версію Java, запустивши її java -versionв терміналі.


2

Я не знаю, чому люди дали такі великі відповіді, але додавання jdk / bin до PATH працює чудово: -

Додайте свій jdk/binPATH, як тут сказано в моєму випадку, так /etc/environmentвиглядає:

   $ cat /etc/environment     
   PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/jdk-9.0.1/bin"    
   JAVA_HOME="/opt/jdk-9.0.1/"

1

Щоб встановити Sun Java 6 на Precision through Trusty, ви можете використовувати пакети PPA збереженого видаленого первинного / партнерського архіву .

sudo add-apt-repository ppa:maxb/preserved
sudo apt-get update
sudo apt-get install sun-java6-jre
sudo update-alternatives --config java

А потім виберіть потрібну версію Java. Ви можете перевірити, чим зараз керуєте:

geek@liv-inspiron:/tmp$ java -version
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

1

Встановлення Java Oracle (JDK / JRE):

Ви можете автоматизувати завдання встановлення / видалення Oracle Java (JDK / JRE) з завантаженого (tar.gz) джерела за допомогою цього сценарію: oraji .

Кроки:

  1. Завантажте джерело tar.gz потрібної версії jdk / jre.
  2. бігати sudo oraji /path/to/the/jdk_or_jre/archive

Видалити:

запустіть sudo oraji -uі підтвердьте, що версія jdk / jre буде видалена.


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