- Java-applet
- JavaPlugin
- Предыстория
- Правильный способ
- Получение Java с сайта Oracle
- Установка RPM
- Регистрация в браузерах
- Для всех пользователей
- Для одного пользователя
- Проверка работы
- Проверка зарегистрированного плагина
- Java/OracleSDK
- NOSRC In a Nutshell
- Примечания
- Ссылки
- Переключение на Oracle JDK
- Java/OracleSDK
- NOSRC In a Nutshell
- Примечания
- Ссылки
- Переключение на Oracle JDK
Java-applet
Инструкция по настройке работы Java-аплетов в браузере.
1. Устанавливаем Oracle Java 1.8 до версии 271 (подробнее: https://unix.stackexchange.com/questions/639464/java-8-for-linux-x64-has-no-libnpjp2-so). Без регистрации на сайте Oracle эта версия доступна только у Huawei. Под root:
Проверяем наличие плагина:
# less jdk-8u202-linux-x64.rpm | grep libnpjp2.so -rwxr-xr-x 1 root root 216592 дек 15 2018 /usr/java/jdk1.8.0_202-amd64/jre/lib/amd64/libnpjp2.so
apt-get install jdk-8u202-linux-x64.rpm
2. Ставим последнюю версию Firefox ESR, которая поддерживала Java-аплеты — 52. Под пользователем:
$ wget https://ftp.mozilla.org/pub/firefox/releases/52.9.0esr/linux-x86_64/ru/firefox-52.9.0esr.tar.bz2 $ tar xf firefox-52.9.0esr.tar.bz2
Создаём каталог для плагинов и делаем туда символическую ссылку на libnpjp2.so:
$ mkdir firefox/browser/plugins $ ln -s /usr/java/jdk1.8.0_202-amd64/jre/lib/amd64/libnpjp2.so firefox/browser/plugins/
3. Внимание! Отключите сразу автообновление! Иначе браузер обновится до следующей версии и аплеты работать не будут. Запустите
$ firefox/firefox about:config
нажмите на кнопку «Я принимаю на себя риск», наберите app.update.auto и щёлкните на значении true. Оно станет false:
4. Проверяем работу аплета:
При запуске появится несколько предупреждений, с которыми надо согласится.
JavaPlugin
Эта инструкция описывает установку модуля поддержки Java от Oracle для Firefox.
Предыстория
Так как компания Oracle изменила лицензию на Java, запрещающую её распространение в дистрибутивах Linux, в браузерах Chromium и Firefox стало невозможно использовать старый плагин Java (из Java 1.6.0 Sun), а OpenJDK 1.7.0 может не поддерживать некоторые аплеты. Пользователю остаётся скачивать Java с сайта Oracle и настраивать её работу.
Правильный способ
1. Актуально для текущего стабильного бранча (p6) и Sisyphus. Обновить пакет mozilla-plugin-java-1.7.0-openjdk
2. Если аплеты не работают на OpenJDK, собрать OracleSDK как показано на http://www.altlinux.org/Java/OracleSDK и установить пакет mozilla-plugin-java-1.7.0-oracle
Чуть ниже инструкция для тех, кто не желает собирать пакет.
Получение Java с сайта Oracle
Нажмите «Accept License Agreement» и выберите нужный RPM для своей архитектуры:
Установка RPM
apt-get install jre-7u6-linux-i586.rpm
apt-get install jre-7u6-linux-x64.rpm
Регистрация в браузерах
Для всех пользователей
Если нужно сделать доступным для всех пользователей в Firefox и Chromium, выполните под правами root:
ln -s /usr/java/jre1.7.0_06/lib/i386/libnpjp2.so /usr/lib/browser-plugins
ln -s /usr/java/jre1.7.0_06/lib/amd64/libnpjp2.so /usr/lib64/browser-plugins
Для одного пользователя
В терминале под обычным пользователем выполните
mkdir ~/.mozilla/plugins/ ln -s /usr/java/jre1.7.0_06/lib/i386/libnpjp2.so ~/.mozilla/plugins/
mkdir ~/.mozilla/plugins/ ln -s /usr/java/jre1.7.0_06/lib/amd64/libnpjp2.so ~/.mozilla/plugins/
Проверка работы
Проверка зарегистрированного плагина
Запустите Firefox и откройте адрес
В списке модулей должен быть плагин Java, как показано на рисунке.
Java/OracleSDK
jdk-6u26-linux является последним фирменным JDK, распространяемым под лицензией DLJ (Operating System Distributor License for Java version 1.1). Эта лицензия явно разрешает распространять JDK в составе дистрибутива. Таким образом, java-1.6.0-sun-1.6.0.26 является последним JDK от Sun/Oracle, входящим в состав Sisyphus.
Последующие версии Oracle JDK теперь распространяются под лицензией Oracle Binary Code License, в которой есть явное разрешение распространять JDK вместе с java приложениями, например, в составе LiveCD, но нет явного разрешения распространять JDK в одиночку как отдельный пакет. Поэтому их нет в сизифе.
Однако ничто не мешает установить данные пакеты самостоятельно. Для безболезненной установки Oracle JDK под ALT Linux доступны nosrc.rpm-пакеты. В них собственно Oracle JDK не входит, его нужно отдельно скачать, после чего их можно пересобрать по инструкции ниже и получить обычные rpm-пакеты, готовые к установке.
C 19 апреля 2019 года лицензионная политика снова поменялась, теперь Oracle JDK платная, последний релиз, который можно собрать и пользоваться без ограничений это 8u202 (скачать после авторизации на сайте можно тут)
NOSRC In a Nutshell
Установите его командой вида:
$ rpm -Uhv java-1.8.0-oracle-1.8.0.102-alt1.nosrc.rpm
После выполнения команды у вас появится новый каталог /home/UserName/RPM/ , в нём будет еще два каталога: SOURCES и SPECS
Скачайте в каталог SOURCES/ недостающий исходник jdk*.tar.gz для вашей архитектуры с сайта Oracle (Java SE Downloads, download.oracle.com, если ссылки устареют, поищите новые в google).
Например, для java-1.8.0-oracle-1.8.0.102 это будет файл:
Публикация nosrc.rpm может отставать от выпуска новых релизов java.
Если на сайте Oracle доступна более свежая версия, чем имеющиеся *.nosrc.rpm , необходимо внести поправки в файле java-1.8.0-oracle.spec и только после этого приступать к сборке *.src.rpm .
К примеру: У вас в файле java-1.8.0-oracle.nosrc.rpm в строке %define buildver указана версия 60, а на оф.сайте уже доступна версия jdk-8u72-linux-**.tar.gz ; править нужно следующее: ( «-» — это строка для изменения, «+» — та же строка, но уже с внесенными изменениями)
--- java-1.8.0-oracle.spec~ 2016-02-04 17:31:58.832448223 +0300 +++ java-1.8.0-oracle.spec 2016-02-04 17:02:50.865717944 +0300 @@ -38,7 +38,7 @@ %define origin oracle %define priority 18040 %define javaver %major.%minor -%define buildver 60 +%define buildver 72 %define jppname java-%-% %define javaws_ver % @@ -1107,6 +1107,9 @@ %changelog +* Thu Feb 04 2016 Michael Shigorin 0:1.8.0.72-alt1 +- nosrc spec file for java sdk 8u72 + * Fri Oct 09 2015 Igor Vlasenko 0:1.8.0.60-alt1 - nosrc spec file for java sdk 8u60
Обновить nosrc.rpm при желании можно подобным образом:
rpmbuild -bs --nosource 0 --nosource 1 --nodeps java-1.8.0-oracle.spec
Далее установите в host-систему пакеты rpm-build-java browser-plugins-npapi-devel и в каталоге SPECS/ выполните команду (для Oracle JDK 8):
$ rpmbuild -bs --nodeps java-1.8.0-oracle.spec
Полученный в результате java-1.8.0-oracle-1.8.0.102-alt1.src.rpm пересоберите в hasher.
Примечания
ключ » —nodeps » команды «rpmbuild -bs» позволяет выполнить ее без установки лишних зависимостей в хост-систему.
При этом, если в хост-системе не будет некоторых дополнительных пакетов с макросами, именно, указанных в BuildRequires(pre): rpm-macros-alternatives browser-plugins-npapi-devel , то rpmbuild будет выдавать предупреждения, связанные с отсутствием соответствующих макросов. На это можно не обращать внимания, если сборка src.rpm пакета состоялась.
Если вы не осилили сборку в hasher, то надо делать так
cd /home/user/RPM/SPEC rpmbuild -bs --nodeps java-1.8.0-oracle.spec cd /home/user/RPM/SRPMS apt-get build-dep путь_до_файла/java-1.8.0-oracle-1.8.0.31-alt1.src.rpm cd /home/user/RPM/SPEC rpmbuild -bs java-1.8.0-oracle.spec
При этом в систему установятся пакеты, необходимые для сборки пакета. После сборки, их можно удалить из системы.
В последней версии java-1.8.0-oracle.spec для JDK 8u45 (arch type i586), надо запретить сборку moz_plugin_classiс для 32-битной архитектуры (как уже сделано для 64-бит)
@@ -84,7 +84,7 %else %def_enable javaws %def_enable moz_plugin -%def_enable moz_plugin_classic +%def_disable moz_plugin_classic %def_enable desktop %endif %def_with gcc32_abi
Ссылки
Переключение на Oracle JDK
TODO: использование alternatives
Вопрос: как при выполнении rpmbuild -bs —nodeps java-1.8.0-oracle.spec на выходе получить упакованный пакет с сорцами i586 при сборке на платформе x86_64. Упаковывается всё x64.tar.gz
Java/OracleSDK
jdk-6u26-linux является последним фирменным JDK, распространяемым под лицензией DLJ (Operating System Distributor License for Java version 1.1). Эта лицензия явно разрешает распространять JDK в составе дистрибутива. Таким образом, java-1.6.0-sun-1.6.0.26 является последним JDK от Sun/Oracle, входящим в состав Sisyphus.
Последующие версии Oracle JDK теперь распространяются под лицензией Oracle Binary Code License, в которой есть явное разрешение распространять JDK вместе с java приложениями, например, в составе LiveCD, но нет явного разрешения распространять JDK в одиночку как отдельный пакет. Поэтому их нет в сизифе.
Однако ничто не мешает установить данные пакеты самостоятельно. Для безболезненной установки Oracle JDK под ALT Linux доступны nosrc.rpm-пакеты. В них собственно Oracle JDK не входит, его нужно отдельно скачать, после чего их можно пересобрать по инструкции ниже и получить обычные rpm-пакеты, готовые к установке.
C 19 апреля 2019 года лицензионная политика снова поменялась, теперь Oracle JDK платная, последний релиз, который можно собрать и пользоваться без ограничений это 8u202 (скачать после авторизации на сайте можно тут)
NOSRC In a Nutshell
Установите его командой вида:
$ rpm -Uhv java-1.8.0-oracle-1.8.0.102-alt1.nosrc.rpm
После выполнения команды у вас появится новый каталог /home/UserName/RPM/ , в нём будет еще два каталога: SOURCES и SPECS
Скачайте в каталог SOURCES/ недостающий исходник jdk*.tar.gz для вашей архитектуры с сайта Oracle (Java SE Downloads, download.oracle.com, если ссылки устареют, поищите новые в google).
Например, для java-1.8.0-oracle-1.8.0.102 это будет файл:
Публикация nosrc.rpm может отставать от выпуска новых релизов java.
Если на сайте Oracle доступна более свежая версия, чем имеющиеся *.nosrc.rpm , необходимо внести поправки в файле java-1.8.0-oracle.spec и только после этого приступать к сборке *.src.rpm .
К примеру: У вас в файле java-1.8.0-oracle.nosrc.rpm в строке %define buildver указана версия 60, а на оф.сайте уже доступна версия jdk-8u72-linux-**.tar.gz ; править нужно следующее: ( «-» — это строка для изменения, «+» — та же строка, но уже с внесенными изменениями)
--- java-1.8.0-oracle.spec~ 2016-02-04 17:31:58.832448223 +0300 +++ java-1.8.0-oracle.spec 2016-02-04 17:02:50.865717944 +0300 @@ -38,7 +38,7 @@ %define origin oracle %define priority 18040 %define javaver %major.%minor -%define buildver 60 +%define buildver 72 %define jppname java-%-% %define javaws_ver % @@ -1107,6 +1107,9 @@ %changelog +* Thu Feb 04 2016 Michael Shigorin 0:1.8.0.72-alt1 +- nosrc spec file for java sdk 8u72 + * Fri Oct 09 2015 Igor Vlasenko 0:1.8.0.60-alt1 - nosrc spec file for java sdk 8u60
Обновить nosrc.rpm при желании можно подобным образом:
rpmbuild -bs --nosource 0 --nosource 1 --nodeps java-1.8.0-oracle.spec
Далее установите в host-систему пакеты rpm-build-java browser-plugins-npapi-devel и в каталоге SPECS/ выполните команду (для Oracle JDK 8):
$ rpmbuild -bs --nodeps java-1.8.0-oracle.spec
Полученный в результате java-1.8.0-oracle-1.8.0.102-alt1.src.rpm пересоберите в hasher.
Примечания
ключ » —nodeps » команды «rpmbuild -bs» позволяет выполнить ее без установки лишних зависимостей в хост-систему.
При этом, если в хост-системе не будет некоторых дополнительных пакетов с макросами, именно, указанных в BuildRequires(pre): rpm-macros-alternatives browser-plugins-npapi-devel , то rpmbuild будет выдавать предупреждения, связанные с отсутствием соответствующих макросов. На это можно не обращать внимания, если сборка src.rpm пакета состоялась.
Если вы не осилили сборку в hasher, то надо делать так
cd /home/user/RPM/SPEC rpmbuild -bs --nodeps java-1.8.0-oracle.spec cd /home/user/RPM/SRPMS apt-get build-dep путь_до_файла/java-1.8.0-oracle-1.8.0.31-alt1.src.rpm cd /home/user/RPM/SPEC rpmbuild -bs java-1.8.0-oracle.spec
При этом в систему установятся пакеты, необходимые для сборки пакета. После сборки, их можно удалить из системы.
В последней версии java-1.8.0-oracle.spec для JDK 8u45 (arch type i586), надо запретить сборку moz_plugin_classiс для 32-битной архитектуры (как уже сделано для 64-бит)
@@ -84,7 +84,7 %else %def_enable javaws %def_enable moz_plugin -%def_enable moz_plugin_classic +%def_disable moz_plugin_classic %def_enable desktop %endif %def_with gcc32_abi
Ссылки
Переключение на Oracle JDK
TODO: использование alternatives
Вопрос: как при выполнении rpmbuild -bs —nodeps java-1.8.0-oracle.spec на выходе получить упакованный пакет с сорцами i586 при сборке на платформе x86_64. Упаковывается всё x64.tar.gz