====== 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}}