Как я могу установить проприетарную версию Java JDK 6/7/8 или JRE от Sun / Oracle?


559

Я хочу установить JRE Oracle и обновиться до последней версии с помощью Software Updater, когда они будут выпущены. Существует ли пакет Ubuntu, предоставляемый Canonical или Oracle?

Перед выпуском Java 7 я следовал по этому пути, чтобы установить Java 6 .

Но это не работает для Java 7 . Там нет пакета sun-java7-xxx. Как вы можете установить Java 7 ?


11
Я также хотел бы отметить, что использование OpenJDK является более чем жизнеспособной альтернативой: теперь это также эталонная реализация .
Никгулецкий

11
openJdk не поддерживается банковскими апплетами или другим программным обеспечением. Например: Aptana Studio
Эльзо Валуги

4
ссылка на "этот путь", кажется, показывает ... нет описания пути?
rogerdpack

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

1
@ GKFX нет, для этого конкретного банка IcedTea не работал, и банк поддерживал только Oracle 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каталог. NB. Тщательно проверяйте это имя папки, так как Oracle, похоже, время от времени меняет это при каждом обновлении.

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

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

    альтернативы обновления sudo --install "/ usr / bin / java" "java" "/usr/lib/jvm/jdk1.8.0/bin/java" 1
    Возможности обновления sudo --install "/ usr / bin / javac" "javac" "/usr/lib/jvm/jdk1.8.0/bin/javac" 1
    Альтернативы обновления sudo --install "/ usr / bin / javaws" "javaws" "/usr/lib/jvm/jdk1.8.0/bin/javaws" 1
    

    Это назначит Oracle JDK приоритет 1, что означает, что установка других JDK заменит его по умолчанию . Обязательно используйте более высокий приоритет, если вы хотите, чтобы Oracle JDK оставался по умолчанию.

  • Исправьте владение файлом и разрешения для исполняемых файлов:

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

    NB: Помните - Java JDK имеет много других исполняемых файлов, которые вы можете установить так же, как указано выше. java, javac, javawsВероятно, наиболее часто требуется. В этом ответе перечислены другие доступные исполняемые файлы.

  • Бегать

    альтернативы обновления sudo --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/

NB. Вы можете связать плагин ( 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 - это сделать его с помощью Oracle Up OS для Web Up8. Однако считается, что этот PPA иногда устарел. Также обратите внимание на опасность использования 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 успешным, используя официальный сайт оракула .


Для 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 для использования Oracle 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.

NB. Если ранее не было 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 был успешным, используя официальный веб-сайт оракула .


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»
Энрике

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

1
Пока этот метод работает - apt-get не будет знать, что у вас установлена ​​Java. Поэтому, пытаясь установить такие инструменты, как ant, maven и т. Д., Вы все равно захотите установить openjdk. Вместо этого что-то вроде webupd8.org/2012/01/… отлично сработало для меня!
Брэд

100

Вот проверенное и работающее решение для установки Oracle JDK 7 и всех его файлов, так что «javac» и все остальное работает: Как установить Oracle Java 7 (JDK) в Ubuntu

Вот команды (только для удобства):

  1. Загрузите последнюю версию Oracle JDK 7 здесь .
  2. Извлеките загруженный архив Oracle Java JDK в свою домашнюю папку - должна быть создана новая папка с именем «jdk1.7.0_03» (для Java JDK7 update 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, созданный Брюсом Ингаллом (пакеты доступны для 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).
Марцин Гил

хорошее и относительно безболезненное решение для Precise, только что установил на нем
jdk1.7.0_03

Я только что использовал этот метод для установки jdk1.7.0_03 на Precise beta 2, а также. Это сработало, хотя сообщалось об ошибке (в Zenity, очевидно); ошибка, похоже, не повлияла на результат.
Келли

1
попробовал это на Ubuntu 13.04, и это работает. +1 спасибо
мамду алрамадан

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
Сорин

4
@SorinSbarnea Некоторые люди не любят использовать сторонние репозитории, потому что они не всегда обновляются или онлайн в этом отношении.
umop aplsdn

На сервере Ubuntu мне пришлось использовать «sudo apt-get install python-software-properties», чтобы получить команду 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
$

Это сработало для меня, если есть более элегантный способ (без использования сторонних PPA), я был бы рад услышать об этом. Мне все еще нужно протестировать Firefox, если я могу запустить Java в нем.


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

2
Я решил поместить шаги, упомянутые выше BigWhale, в простой сценарий оболочки. Единственный шаг вручную - загрузить 64-битный файл tar.gz с сайта Oracle. Посмотрите на инструкции здесь.
Юлий

1
Это единственное решение, которое показывает, как добавить страницы справочника!
DavidG

@DavidG Чужое решение Андрея также работает безупречно
Anwar

1
Также это решение для 64-битной Ubuntu. для 32-битной, мы должны иметь i386вместоamd64
Анвар

26

ОБНОВЛЕННЫЙ ОТВЕТ:

Я предлагаю использовать один из установщиков из ppa webupd8team следующим образом:

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?
Раджат Гупта

этот тип установки предоставляет мне автоматические обновления по мере их выпуска, и если я не добавлю этот ppa, невольно добавлю другие виды программного обеспечения на мой сервер?
Раджат Гупта

4
При этом устанавливается JDK : «Этот пакет предоставляет Oracle Java JDK 7 (который включает в себя Java JDK, JRE и плагин для браузера Java). Однако вы не можете установить только Oracle JRE - PPA предоставляет только полный пакет Oracle JDK7». ref
кири

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.
Landroni

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 26.09.12

У меня есть новый экземпляр линоде Ubuntu 10.04, и я пытался установить JRE 7 с этим сценарием. Сценарий будет зависать слишком долго из-за отсутствия зависимостей. Затем мне пришлось остановить скрипт и самостоятельно установить зависимости с помощью apt-get. Даже после того, как я все установил, скрипт все равно не удался.
qodeninja

Сценарий действительно не делает ничего особенного. Похоже, что-то не так с вашей коробкой. Я использовал (и использую) это с 8 по 12 апреля, и у меня никогда не было проблем. Я только что попробовал это на моем сервере 10.04, который в значительной степени ванильный, и он работает также. Как и должно быть, потому что этот скрипт не делает больше, чем использует старые сценарии сборки Debian, которые упаковщики использовали для предоставления 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 apt.

  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.


Хороший крик! Не работал над моей 12.04 64-битной, пока я не прочитал ваш ответ. Спасибо!
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; Загрузите Java JDK по адресу:

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

Пожалуйста, загрузите или переместите загруженный файл в свой домашний каталог ~, для удобства.

Примечание:

  • Не беспокойтесь о том, что JDK можно скачать для JEE.

  • Пожалуйста, пропустите копирование приглашения «user @ host: ~ $».

  • Нажмите ввод после каждой команды.

Запустить в терминале ..

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, предоставленного Damien Lecan, а Sun устанавливается вручную. Насколько известно, до сих пор это единственное руководство, которое является правильным как в шагах, так и в объяснении.

Если вы обнаружите какие-либо проблемы, оставьте комментарий там, и я постараюсь это исправить.

Удачи.


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

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

5

Я предлагаю один способ облегчить установку Oracle 7 Java.

Поскольку Ubuntu не предоставляет пакеты Oracle 7 для Java, я предоставляю коллекцию пакетов Ubuntu в своем собственном репозитории пакетов.

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

Главная страница моего вклада: http://www.arakhne.org/jdk/index.html

Чтобы получить пакеты, вам нужно всего лишь добавить мой репозиторий пакетов в конфигурацию вашей системы. Процесс объяснен в http://www.arakhne.org/ubuntu.html

Stéphane.


10
... просто дружеский совет - проверьте лицензию на перераспределение oracle ... вы не хотите, чтобы адвокаты oracle преследовали вас!
fossfreedom

1
Пожалуйста, не публикуйте повторяющиеся ответы на разные вопросы. Это просто создает больше работы для модераторов. Если вопросы настолько похожи, что на каждый из них работает один и тот же ответ, то последний из них, скорее всего, является дубликатом и должен быть помечен как таковой.
RolandiXor


4

Для тех, кто живет в Сирии, Кубе, Ливии, Корее или любой другой стране, где Oracle запрещает свои услуги, это рабочий способ установки Oracle JDK 8.

  1. Используя PROXY, перейдите по этой ссылке и примите условия, затем загрузите tar.gz, подходящий для вашей системы (32 или 64 бит).
  2. Переместите этот tarball в каталог Downloads в вашей домашней папке.
  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 Precise (для настольных ПК):

  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

Вот скрипт bash, который может помочь в настройке 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>зависит от архитектуры вашей системы.

Первым будет установлено Alien, приложение для конвертации .rpmв .deb. Затем вторая команда запускает Alien в пакете 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) в автоматическом режиме. update-альтернативы: ошибка: невозможно сделать /usr/bin/java/.dpkg-tmp символической ссылкой на / etc / alternatives / 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 (Precise 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 JDK 6/7/8 или JRE Sun / Oracle»? ,

Ссылка : установка Java6 JDK в Ubuntu 12.04


2

Для меня способ Debian (sic) - создать свой собственный пакет.

Вы устанавливаете java-package

sudo apt-get install java-package

Вы скачиваете архив Oracle tar.gz.

Вы создаете свой пакет deb

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/binпуть в PATH, как сказано здесь, в моем случае, вот как /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 на Precise через 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

Установка Oracle Java (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.