====== Java в Slackware ======
===== Oracle Java =====
В связи с недавними изменениями Oracle в лицензировании Java, Slackware как и любому другому дистрибутиву больше не разрешается распространять двоичные пакеты Java в составе операционной системы. Это означает, что мы всё ещё можем устанавливать Java в систему, но начиная со Slackware 14 потребуется загружать двоичный пакет вручную.
Oracle предлагает два пакета:
* JRE (Java Runtime Environment) --- требуется для выполнения приложений Java.
* JDK (Java Development Kit) --- требуется для разработки и выполнения приложений Java (включает JRE).
Поскольку JRE включён в состав JDK, именно последний рекомендуется к установке.
Не устанавливайте оба пакета одновременно, до начала установки убедитесь, что все ранее установленные пакеты Java удалены.
==== Установка Java (JDK) в Slackware 14 и новее =====
Для установки Java в систему выполните следующие шаги:
1. Посетите официальную [[http://www.oracle.com/technetwork/java/javase/downloads/index.html|страницу загрузки]].
2. Справа от //Java Platform, Standard Edition// щёлкните //JDK Download// и примите лицензионное соглашение.
3. Загрузите двоичный пакет, соответствующий используемой архитектуре:
''Linux x86'' для 32-битной версии Slackware.\\
''Linux x64'' для 64-битной версии Slackware.
Убедитесь, что выбрали вариант **.tar.gz**.
На момент написания статьи последняя 64-битная версия была:
jdk-7u7-linux-x64.tar.gz
4. В терминале войдите как root:
su -
5. Перейдите в каталог ''/extra/source/java'' на установочном DVD Slackware или локальном каталоге, если загрузили его с зеркала Slackware (в последнем случае //не забудьте загрузить **все** файлы и подкаталоги каталога "''java''"!//).
6. Запустите слакбилд, указав путь к загруженному двоичному пакету Java.
./java.SlackBuild /path/to/jdk-7u7-linux-x64.tar.gz
По завершении слакбилда будет выдано сообщение наподобие:
Slackware package /tmp/jdk-7u7-x86_64-1.txz created.
Приведённое ниже сообщение слакбилда можно проигнорировать.\\ //WARNING: zero length file usr/lib64/java/lib/security/trusted.libraries//
7. Установите свежесозданный пакет:
upgradepkg --install-new /tmp/jdk-7u7-x86_64-1.txz
8. Перезапустите браузер и проверьте работоспособность Java, посетив [[http://www.java.com/en/download/installed.jsp|эту станицу]].
9. Для распознавания Java системой может потребоваться перезагрузка компьютера:
$ which java
/usr/lib64/java/bin/java
10. Если хотите, чтобы [[slackware:slackpkg|slackpkg]] при выполнении ''clean-system'' пропускал пакеты jre и jdk, добавьте их в чёрный список в ''/etc/slackpkg/blacklist''.
===== OpenJDK =====
Если предпочитаете альтернативу с полностью открытым исходным кодом OpenJDK вместо прекомпилированных бинарных файлов Oracle с частично закрытым исходным кодом, можете получить исходный код, слакбилды и/или пакеты Slackware здесь: [[http://slackware.com/~alien/slackbuilds/openjdk/|http://slackware.com/~alien/slackbuilds/openjdk/]].
Если решите использовать OpenJDK, к нему применимо то же самое правило, что и к пакетам Java от Oracle: //устанавливайте только один из двух, либо JRE, либо JDK!//
Если нужен плагин для браузера как в Java от Oracle, установите дополнительно пакет [[http://slackware.com/~alien/slackbuilds/icedtea-web|icedtea-web]]. Oracle сохраняет исходные тексты браузерного плагина закрытыми. Пакет //icedtea-web// является альтернативой с открытым исходным кодом.\\ Также потребуется [[http://slackware.com/~alien/slackbuilds/rhino|rhino]], движок JavaScript для OpenJDK.
Если решите собирать OpenJDK из исходного кода, руководствуйтесь [[http://slackware.com/~alien/slackbuilds/openjdk/build/README.txt|README]].
===== Java не найдена после установки =====
На помощь! Установил Java, но при попытке использования получаю "команда не найдена"!
Нужно отметить, что пакет Java устанавливает пару файлов в каталог профиля «''/etc/profile.d''». Один из них в соответствии с используемой оболочкой исполняется при входе в систему. Сценарий профиля добавляет каталог Java в переменную $PATH (что дает возможность использовать команду ''java'') и устанавливает переменную $JAVA_HOME (нужна другим программам, пытающимся обнаружить установленную Java).
Ниже приведен такой сценарий из 64-битной Slackware:
#!/bin/sh
export JAVA_HOME=/usr/lib64/java
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
Это значит, что после установки пакета Java требуется выйти и снова войти, чтобы выполнился сценарий профиля для Java. Если для выхода не самое подходящее время, есть альтернатива: возможно выполнить сценарий при помощи команды //«[[wp>Dot_(Unix)|source]]»// в консоли и в каждом терминале, где предполагается использовать Java еще до выхода и входа (пример для OpenJDK и совместимой с bash оболочки):
. /etc/profile.d/openjdk.sh
Обратите внимание на точку в начале строки, эта точка и есть команда «source» оболочки.
====== Источники ======
* Источник: [[http://slackware.org.uk/slackware/slackware64-current/extra/java/README|java.SlackBuild readme]]
* Дополнения: [[wiki:user:sycamorex|sycamorex]]
* Дополнения: [[wiki:user:alienbob|Eric Hameleers]]
* Перевод: [[wiki:user:bormant|Serg Bormant]]
{{tag>howtos software java jdk jre translator_bormant}}