J2SDK-1.4.2

Введение в J2SDK

Пакет J2SDK содержит среду разработки Java от Sun. Он полезен для разработки Java программ и предоставляет среду, необходимую для запуска Java программ. Он так же включает плагин для браузеров, так что они могут понимать Java.

JDK подается в двух вариантах - предкомпилированных бинарниках и исходных текстах. Первоначально плагин, включенный в бинарный пакет JDK, был неиспользуем в LFS по причине несовместимости с браузерами, скомпилированными GCC-3. Это больше не так.

Исходный пакет требует регистрации на сайте разработки Sun и применения лицензии Sun Community Source. Исходный код не может быть скачан из некоторых стран, поэтому для пользователей из этих стран бинарный вариант может быть единственным выбором.

Даже если вы планируете компилировать JDK исходники, вам понадобиться скачать бинарную версию для bootstrap JDK сборки. Следуйте по ссылке ниже для скачивания пакетов с исходниками и бинарниками. При скачивании исходников (нобходимо два файла), так же скачайте пакет заголовков Mozilla, доступных в этом же месте. Для сборки из исходников вам надо скачать все четыре файла.

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

Зависимости J2SDK

Требуемые (для сборки J2SDK из исходников)

X (XFree86-4.4.0 или X.org-6.8.2), Zip-2.31, UnZip-5.51, cpio-2.6, ALSA-1.0.7, Tcsh-6.13.00 и GCC-3.3.4

Установка J2SDK

Обе версии будут установлены параллельно. Вы можете оставить одну или обе.

Установка предкомпилированного JDK просая: создайте директорию, из которой будете устанавливать, скопируйте в нее .bin и выполните следующие команды:

export VERSION=1.4.2_07 && export MV=`echo $VERSION | cut -d "_" -f 1,1` && export V=`echo ${VERSION} | sed -e "s/\./_/g"` && sed -i "s:^PATH=.*::" j2sdk-${V}-linux-i?86.bin && chmod +x j2sdk-${V}-linux-i?86.bin && mkdir -p bin && ln -sf /bin/true bin/more && yes | PATH=$PWD/bin:$PATH ./j2sdk-${V}-linux-i?86.bin && cd j2sdk${VERSION}

А теперь, как пользователь root:

install -d /opt/j2sdk/j2sdk-precompiled-${MV} && mv * /opt/j2sdk/j2sdk-precompiled-${MV} chown -R root:root /opt/j2sdk/j2sdk-precompiled-${MV}

Бинарная версия установлена.

Если вы не хотите компилировать исходники или находитесь в месте, где не можете скачать исходники из-за лицензионных ограничений, перейдите к разделу конфигурации.

Добавьте установленный JDK в путь поиска файлов.

export JAVA_HOME=/opt/j2sdk/j2sdk-precompiled-${MV} && export PATH=$PATH:${JAVA_HOME}/bin

Распакуйте исходники:

mkdir j2sdk-build && cd j2sdk-build && VERSION=1.4.2 && V=`echo $VERSION | sed -e "s/\./_/g"` && unzip ../j2sdk-${V}-src-scsl.zip && unzip ../j2sdk-${V}-mozilla_headers-unix.zip && unzip ../j2sdk-${V}-bin-scsl.zip

Примените все патчи, указанные выше.

for PATCH in ../j2sdk-1.4.2*.patch do patch -Np1 -i $PATCH done

Установите/удалите некоторые переменные, влияющие на сборку:

export ALT_BOOTDIR="$JAVA_HOME" && unset JAVA_HOME && unset CLASSPATH unset CFLAGS unset CXXFLAGS unset LDFLAGS export ALT_DEVTOOLS_PATH="/usr/bin" && export BUILD_NUMBER="blfs-`date +%s`" && export DEV_ONLY=true && export ALT_MOZILLA_PATH=$PWD && export INSANE=true && export MAKE_VERBOSE=true && export ALT_CACERTS_FILE=${ALT_BOOTDIR}/jre/lib/security/cacerts export PATH_HOLD=$PATH export PATH=/opt/gcc-3.3.4/bin:$PATH
[Warning]

Внимание

Установка CFLAGS/CXXFLAGS/LDFLAGS гаранитирует ошибку сборки. Если вы интересуетесь оптимизацией сборки, установите вместо них OTHER_CFLAGS/OTHER_CXXFLAGS/OTHER_LDFLAGS.

Дополнительно, если вы желаете проводить параллельную сборку, то добавьте следующее (установите MAKE_PARALLEL для вашей компоновки):

export HOTSPOT_BUILD_JOBS=$MAKE_PARALLEL

Если вложенная библиотека Motif не собирается правильно, то ошибка при сборке появится значительно раньше. Решением проблемы является сборка библиотеки Motif перед компиляцией J2SDK.

cd motif/lib/Xm && make && cd ../../..

Соберем J2SDK при помощи следующих команд. Здесь будет много сообщений об отсутствии файлов, которые будут выглядеть как ошибки. Поскольку сборка не останавливается, то сообщения бесполезны и могут быть проигнорированы.

cd control/make && make && cd ../build/linux-i?86

А теперь, как пользователь root, установим J2SDK:

cp -a j2sdk-image /opt/j2sdk/j2sdk-1.4.2 && chown -R root:root /opt/j2sdk/j2sdk-1.4.2

Восстановим переменные выполнением следующих команд:

unset VERSION && unset MV && unset V && unset ALT_BOOTDIR && unset ALT_DEVTOOLS_PATH && unset BUILD_NUMBER && unset DEV_ONLY && unset ALT_MOZILLA_PATH && unset INSANE && unset MAKE_VERBOSE && unset ALT_CACERTS_FILE && export PATH=$PATH_HOLD && unset PATH_HOLD

Описание команд

export ALT_BOOTDIR="$JAVA_HOME": Эта переменная устанавливает размещение bootstrap JDK.

export ALT_MOZILLA_PATH=$PWD: Это установит переменную, указывающую на место с распакованными заголовками Mozilla.

export ALT_DEVTOOLS_PATH="/usr/bin": Это изменит место для поиска необходимых бинарников при сборке.

export BUILD_NUMBER="blfs-`date +%s`": Это поможет вам определить текущую компилированную версию окружения и виртуальной машины добавлением этой информации к версии в выводе команды java -version.

export DEV_ONLY=true: Эта команда исключает компиляцию документации и зависимостей для rpm.

unset JAVA_HOME: Это очищает переменную JAVA_HOME согласно рекомендации инструкций по сборке.

unset CLASSPATH: Это очищает переменную CLASSPATH согласно рекомендации инструкций по сборке.

unset CFLAGS...: Эти флаги означают неудачную сборку. Не устанавливаем их.

export INSANE=true: Если вы не установите, что вы insane, сборка не произойдет. Сертифицированной платформой для сборки является Redhat 6.1. Эта переменная подтверждает, что все ошибки, относящиеся к сборке на несертифицированной платформе, будут преобразованы в предупреждения.

export MAKE_VERBOSE=true: Позволяет текущей команде компиляции быть отображенной в консоли.

export ALT_CACERTS_FILE...: Описывает файл сертификата для использования.

Конфигурация J2SDK

Конфигурационная информация

Теперь есть два Java 2 SDK, установленных в /opt/j2sdk. Вы должны решить, какой из них будете использовать по умолчанию. Например, если вы решите использовать версию J2SDK, скомпилированную из исходников, выполните следующее:

ln -nsf j2sdk-1.4.2 /opt/j2sdk/j2sdk

Добавьте следующие строки в ваш стартовый файл оболочки (т.е. /etc/profile).

export JAVA_HOME=/opt/j2sdk/j2sdk export PATH=$PATH:$JAVA_HOME/bin

Добавьте $JAVA_HOME/man в вашу переменную MANPATH или в /etc/man.conf

Java плагин находится в директории $JAVA_HOME/jre/plugin/i?86/ns610/. Сделайте символическую ссылку на файл из этой директории в вашей директории плагинов. Заметьте, что плагин должен быть символической ссылкой для его работы. Если это не так, то браузеры будут падать при попытке загрузки Java плагина.

Поддержка CLASSPATH

При сборке пакетов переменная окружения CLASSPATH используется JDK для размещения классов во время сборки и выполнения. Это утомительно добавлять все используемые классы в CLASSPATH вручную. Вы можете добавить следующие строки в ваш стартовый файл оболочки для установки CLASSPATH автоматически для включения всех JAR файлов в указанной директории, которая в примере ниже является /usr/lib/auto-java-classpath.

AUTO_CLASSPATH_DIR=/usr/lib/auto-java-classpath if [ -z $CLASSPATH ] then CLASSPATH=.:$AUTO_CLASSPATH_DIR else CLASSPATH=$CLASSPATH:.:$AUTO_CLASSPATH_DIR fi for i in $(ls $AUTO_CLASSPATH_DIR/*.jar 2>/dev/null) do CLASSPATH=$CLASSPATH:$i done

Содержание

Установленные программы: appletviewer, extcheck, idlj, jar, jarsigner, java, javac, javadoc, javah, javap, jdb, keytool, native2ascii, orbd, policytool, rmic, rmid, rmiregistry, serialver, servertool и tnameserv
Установленные библиотеки: $JAVA_HOME/lib/*, $JAVA_HOME/jre/lib/* и libjavaplugin_oji.so
Установленные директории: /opt/j2sdk

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

appletviewer

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

extcheck

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

idlj

генерирует Java связи из данного IDL файла.

jar

объединяет составные файлы в один JAR архивный файл.

jarsigner

отмечает JAR (Java ARchive) файлы и проверяет сигнатуры и чистоту отмеченного JAR файла.

java

запускает приложение Java запуском окружения Java, загружает указанный класс и вызывает его основной метод.

javac

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

javadoc

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

javah

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

javap

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

jdb

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

keytool

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

native2ascii

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

orbd

используется для разрешения клиентам прозрачного расположения и выполнения постоянных объектов на серверах в окружении CORBA.

policytool

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

rmic

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

rmid

запускает активизацию системного демона.

rmiregistry

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

serialver

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

servertool

предоставляет простой в использовании интерфейс для приложения програмистов для регистрации, запуска и остановки сервера.

tnameserv

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

Последнее обновление 2005-02-26 22:37:02 -0700