Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Beyond Linux From Scratch. Version 2011-12-30
Назад 12. Программирование Вперед

Пакет JDK-6 Update 18

Знакомимся с пакетом JDK

В пакете JDK находится среда разработки языка Java, созданная фирмой Sun. Она используется для разработки Java-программ и предоставляет среду исполнения, необходимую для запуска Java-программ. Также есть плагин для браузеров, позволяющим им использовать язык Java.

Замечание

Фирма Sun недавно приняла решение не предоставлять исходные коды JRL для последних версий JDK. Sun активно работает на версией JDK под лицензией GPL, которая называется OpenJDK. Этот новый JDK будет лицензирован под лицензией GNU General Public License, version 2, with the Classpath Exception. На момент написания данной книги, стабильная версия OpenJDK была недоступна.

Информация о пакете

  • Загрузка (jdk-6u18-linux-i586.bin): http://java.sun.com/javase/downloads/index.jsp
  • Контрольная сумма MD5: ad5ee976522bf5767100a8b4b981c690
  • Размер загружаемого пакета: 85 MB
  • Оценочный размер требуемого дискового пространства: 250 MB
  • Оценочное время сборки: 0,1 SBU

Зависимости пакета JDK

Необязательные зависимости времени исполнения

ALSA Library-1.0.24.1, CUPS-1.5.0 и gtk+-2.24.8

Замечания для пользователей: http://wiki.linuxfromscratch.org/blfs/wiki/jdk

Установка пакета JDK

Совет

Команда ./jdk-6u18-linux-i586.bin, приведенная ниже, распаковывает дистрибутив в директорий jdk1.6.0_18. Прежде, чем какие-либо файлы будут распакованы, вам будет необходимо просмотреть, а затем принять (при помощи нажатия клавиши y) лицензионное соглашение. Вам нужно это учесть, если вы при сборке используете скрипты (с целью автоматизации). Информация об автоматизации сборки представлена в разделе Automated Building Procedures (Процедуры автоматической сборки) в главе 2. Ближе к концу этого раздела будет рассмотрена конкретная информация, связанная с автоматизацией этого типа инсталляции.

Как правило, в BLFS файлы распаковываются в поддиректорий и это место является отправной точкой установочных процедур. Однако для этого приложения надо начинать с директория, в котором находятся скачанные файлы.

Установите пакет JDK с помощью следующих команд:

chmod 755 jdk-6u18-linux-i586.bin &&
./jdk-6u18-linux-i586.bin

Замечание

Установка завершится сообщением "./jdk-6u18-linux-i586.bin: line 43: 20283 Aborted" поскольку в среде окружения не установлена переменная javaprefix. Это связано с тем, что пакет GTK+ может быть еще не установлен во время установки пакета JDK, однако если сборка выполняется с помощью скрипта, установка пакета JDK будет завершена с нулевым значением ошибки.

Теперь в роли пользователя root выполните:

cd jdk1.6.0_18 &&
install -v -m755 -d /opt/jdk-6u18 &&
mv -v * /opt/jdk-6u18 &&
chown -v -R root:root /opt/jdk-6u18 &&
ln -v -sf xawt/libmawt.so \
    /opt/jdk-6u18/jre/lib/i386/ &&
cd ..

Последние версии libX11 в случае, когда используется расширение Xinerama, выводят из строя библиотеку libmawt. Чтобы обойти эту проблему, вы должны находясь в роли пользователя root применить следующую команду sed:

sed -i 's@XINERAMA@FAKEEXTN@g' \
    /opt/jdk-6u18/jre/lib/i386/xawt/libmawt.so

Пояснение команды

ln -sf xawt/libmawt.so /opt/jdk-6u18/jre/lib/i386/: С помощью этой команды исправляются проблемы компоновки с другими приложениями, которые предполагают найти библиотеки motif вместе с другими библиотеками JDK.

Конфигурирование пакета JDK

Подробнее о конфигурировании

В роли пользователя root создайте символическую ссылку на установочный директорий:

ln -v -nsf jdk-6u18 /opt/jdk

В информации, приводимой ниже, предполагается, что ваша система настроена в соответствии с инструкциями, приведенными в Файлы запуска командной оболочки Bash. Если у вас система настроена по-другому, то вам, возможно, придется найти информацию, соответствующую той, что приведена ниже, и включить ее в файлы запуска вашей системы.

В роли пользователя root добавьте файл запуска командной оболочки jdk.sh в директорий /etc/profile.d с помощью следующих команд:

cat > /etc/profile.d/jdk.sh << "EOF"
# Начало /etc/profile.d/jdk.sh

# Указывается директорий JAVA_HOME
JAVA_HOME=/opt/jdk

# Настраивается переменная PATH
pathappend ${JAVA_HOME}/bin PATH

# Переменная CLASSPATH для автоматической работы Java 
# Скопируйте в этот директорий файлы jar, либо создайте на этот директорий символические ссылки
AUTO_CLASSPATH_DIR=/usr/lib/classpath
pathprepend . CLASSPATH
for dir in `find ${AUTO_CLASSPATH_DIR} -type d 2>/dev/null`; do
    pathappend $dir CLASSPATH
done

export JAVA_HOME CLASSPATH
unset AUTO_CLASSPATH_DIR
unset dir

# Завершение /etc/profile.d/jdk.sh
EOF

Java-плагин находится в $JAVA_HOME/jre/lib/i386/libnpjp2.so. Создайте символическую ссылку на файл в этом директории из директория плагинов вашего браузера.

Важно

Для того, чтобы плагин работал, на него должна быть сделана символическая ссылка. Если ссылки нет, то любой браузер "вылетит" при попытке загрузить приложение Java.

Описание пакета

Установленные программы: appletviewer, apt, extcheck, idlj, HtmlConverter, jar, jarsigner, java, javac, javadoc, javah, javap, java-rmi.cgi, javaws, jconsole, jcontrol, jdb, jhat, jinfo, jmap, jps, jrunscript, jsadebugd, jstack, jstat, jstatd, jvisualvm, keytool, native2ascii, orbd, pack200, policytool, rmic, rmid, rmiregistry, schemagen, serialver, servertool, tnameserv, unpack200, wsgen, wsimport и xjc

Установленные библиотеки: $JAVA_HOME/lib/*, $JAVA_HOME/jre/lib/*

Установленные директории: /opt/jdk-6u18

Краткое описание

appletviewer

запускает Java-апплеты вне контекста браузера

apt

является инструментальным средством обработки аннотаций

extcheck

проверяет, конфликтует ли заголовок и версия указанного файла jar с какими-либо расширениями, установленными в пакете JDK

HtmlConverter

добавляет автоматическую загрузку Java на страницы html и asp

idlj

генерирует Java-сборку из указанного файла IDL

jar

объединяет несколько файлов в одном архив jar

jarsigner

подписывает файлы jar и проверяет сигнатуры и целостность подписанного файла jar

java

запускает Java-приложение с помощью среды времени исполнения Java Runtime, загружая для этого указанный класс и вызывая его метод main

javac

читает определения класса и интерфейса, написанные на языке программирования Java, и компилирует их в файлы классов с байт-кодом

javadoc

анализирует декларации и комментарии с документацией в наборе файлов с исходным кодом Java и создает соответствующий набор страниц HTML, описывающий классы, интерфейсы, конструкторы, методы и поля

javah

строит заголовки С и файлы с исходным кодом, которые необходимы для реализации нативных методов

javap

дизассемблирует файл с классом Java

java-rmi.cgi

является Java RMI клиентом

javaws

запускает Java-приложения/апплеты, размещенные в сети

jconsole

является графической консолью, предназначенной мониторинга и управления как локальными, так и удаленными Java-приложениями и виртуальными машинами

jcontrol

является графической панелью управления Java

jdb

простой отладчик командной строки для классов Java

jhat

анализирует дамп-файл Java-кучи и позволяет просматривать результат в браузере

jinfo

выдает информацию о конфигурации для данного процесса Java, основном файле или удаленном сервере отладки

jmap

выдает для данного процесса подробную информацию об отображении объектов в памяти и о памяти типа куча,основном файле или удаленном сервере отладки

jps

выдает список инструментальных виртуальных машин JVM на целевой системе

jrunscript

командная оболочка, предназначенная для выполнения команд командной строки

jsadebugd

подключается к процессу Java или к основному файлу и выступает в качестве сервера отладки

jstack

печатает Java трассировку стека потоков Java для заданного Java-процесса, основного файла или удаленного сервера отладки

jstat

отображает статистику производительности для инструментальной JVM

jstatd

серверное приложение RMI, которое отслеживает создание и завершение инструментальных JVM

jvisualvm

является интуитивно понятный графическим интерфейсом пользователя, который предоставляет подробную информацию о приложениях Java, когда они работают на данной JVM

keytool

утилита управления ключами и сертификатами

native2ascii

преобразует файлы, в которых есть символы неподдерживаемой кодировку в файлы, содержащие символами кодировок Latin-1 или Unicode

orbd

используется, чтобы позволить клиентам на серверах в среде CORBA прозрачно находить и вызывать постоянно существующие (persistent) объекты

pack200

представляет собой приложение Java, которое с помощью компрессора Java gzip преобразует файл jar в сжатый файл pack200

policytool

в графическом режиме создает и управляет политикой файла

rmic

по именам скомпилированных классов Java, в которых находятся реализации объектов удаленного доступа, создает файлы классов с заглушками и заготовками, предназначенных для доступа к удаленным объектам

rmid

запускает демон активации системы

rmiregistry

создает и запускает реестр удаленных объектов на указанном порту текущего хоста

schemagen

является Java-генератором схем на XML

serialver

возвращает serialVersionUID для одного или нескольких классов в виде, пригодном для копирования в разворачиваемом классе

servertool

предоставляет простой в использовании интерфейс для прикладных программистов, используемый для регистрации, отмены регистрации, запуска и завершения работы сервера

tnameserv

запускает сервер имен IDL языка Java

unpack200

является нативной реализацией, с помощью которой осуществляется преобразование упакованного файла, созданного с помощью pack200 в файл jar

wsgen

создает портируемые варианты JAX-WS, используемый в веб сервисах

wsimport

создает портируемые элементы JAX-WS

xjc

является Java-компилятором, осуществляющим привязку XML

Перевод сделан с варианта оригинала, датированного 2010-02-13 02:16:43 +0000


Предыдущий раздел: Оглавление Следующий раздел:
Пакет IcedTea6-1.9.7   Пакет JUnit-4.8.1