LinuxShop.Ru :: Gentoo.Ru :: Документация
Руководство по настройке Java в Gentoo
Версия: 0.1.1 от 17 Dec 2002Описание:
Руководство по настройке Java в Gentoo для пользователей и разработчиков,.
Над документом работали:
Author and Editor: Karl Trygve Kalleberg
( [email protected] )
Переводчик: Иван Зенков
( [email protected] )
Содержание:
1. Установка JDK/JRE
1.1. Введение
1.2. Установка Sun/IBM JDK/JRE
2. Конфигурирование вашей JDK/JRE
2.1. Краткий обзор
2.2. Выбор основного JDK/JRE
2.3. Установка значения CLASSPATH
3. Дополнительные ресурсы
3.1. Off-line ресурсы
3.2. Online ресурсы
4. Предостережения
4.1. Основное
1. Установка JDK/JRE
Gentoo предоставляет несколько JDK и JRE. По умолчанию выбран Blackdown JDK/JRE, так как он свободно доступен без регистрации.
Примечание: Как только kaffe станет легко встраиваемой JRE/JDK, мы примем её по умолчанию. |
И Sun JDK/JRE, и IBM JDK/JRE вообще-то значительно быстрее, но получение их требует намного большего труда, поскольку вам потребуется прочитать и принять их лицензии перед загрузкой (IBM дополнительно требует, чтобы вы зарегистрировались).
Наши ebuild-скрипты для Sun и IBM JDK/JRE уведомят вас относительно того, откуда все это можно загрузить.
1.2. Установка Sun/IBM JDK/JRE
Если вы запустите emerge sun-jdk-1.3.1 или emerge ibm-jdk-1.3.1, вы будете уведомлены о том, что требуется, чтобы вы загрузили архив фактически самостоятельно. Это происходит из-за ограничений лицензии Sun JDK/JRE (online click-wrap license) и проблем с регистрации IBM JDK/JRE.
Примечание: Есть также sun-jdk-1.4.0, но не все пакеты хорошо работают с Java 1.4, так что выбор всегда за вами: использовать 1.4.0 JDK или нет. |
Вы должны загрузить обозначенные файл(ы) в /usr/portage/distfiles. После чего можете повторно запустите команду emerge, JDK/JRE будет установлен должным образом в /opt.
2. Конфигурирование вашей JDK/JRE
Gentoo позволяет бесконфликтно устанавливать несколько JDK и JRE на одной машине. На этот счёт есть несколько предостережений, отмеченных ниже.
Используя инструмент java-config и имея root-доступ, вы можете установить общесистемное значение по умолчанию. Пользователи также могут использовать java-config для установки их собственных значении по умолчанию, отличных от общесистемного значения.
Выполнение команды java-config --list-available-vms выдаст список всех доступных JRE/JDK на вашей системе. Что-то вроде:
Листинг 2.1: Список доступных VM |
[%1 ~] java-config --list-available-vms [blackdown-jdk-1.3.1] Blackdown JDK 1.3.1 (/etc/env.d/java/20blackdown-jdk-1.3.1) [blackdown-jre-1.3.1] Blackdown JRE 1.3.1 (/etc/env.d/java/20blackdown-jre-1.3.1) [ibm-jdk-1.3.0] IBM JDK 1.3.0 (/etc/env.d/java/20ibm-jdk-1.3.0) [ibm-jdk-1.3.1] IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1) [ibm-jre-1.3.1] IBM JRE 1.3.1 (/etc/env.d/java/20ibm-jre-1.3.1) [sun-jdk-1.4.0] Sun JDK 1.4.0 (/etc/env.d/java/20sun-jdk-1.4.0) |
Название в скобках "[]" является дескриптором или идентификатором для VM. Используйте идентификатор с java-config --set-system-vm, примерно так:
Листинг 2.2: Выбор системной VM |
[#1 ~] java-config --set-system-vm=ibm-jdk-1.3.1 Now using IBM JDK 1.3.1 (/etc/env.d/java/20ibm-jdk-1.3.1) |
Примечание: Вы должны иметь права root для запуска --set-system-vm |
После запуска java-config --set-system-vm с VM идентификатором, нужно обновить ваш /etc/profile.env, так:
Листинг 2.3: Обновление /etc/profile.env |
[#1 ~] env-update |
После чего нужно повторно войти в систему, чтобы перечитать файл рабочей среды /etc/profile.
Как обычный пользователь, вы можете использовать java-config --set-user-vm, который создаст $HOME/.gentoo/java-env со всеми требуемыми env переменными. Обычно источник переменных - это сценарий запуска вашей оболочки ($HOME/.zshenv в моем случае).
2.3. Установка значения CLASSPATH
java-config также может быть использован для установки системного значения CLASSPATH, и конечно пользовательского значения CLASSPATH.
Первое, что вам нужно - это список доступных библиотек Java, необходимые из которых нужно поместить в CLASSPATH. Приблизительно это выглядит так:
Листинг 2.4: Список классов |
[%1 ~] java-config --list-available-packages [ant] No description (/usr/share/ant/classpath.env) [java-gnome] No description (/usr/share/java-gnome/classpath.env) [java-gtk] No description (/usr/share/java-gtk/classpath.env) [log4j] "" (/usr/share/log4j/package.env) |
Примечание: Ни один из этих пакетов не имеет надлежащего описания. Это будет осуществлено в ближайшем будущем. |
Снова названия в скобках "[]" являются идентификаторами, которые вы должны передать в java-config --set-system-classpath, таким образом:
Листинг 2.5: Выбор classpath |
java-config --set-system-classpath=log4j,java-gtk,java-gnome |
Примечание: Директория (.) не будет добавлена в classpath, если это не прописано в profile файле root. |
Снова вы должны будете выполнить env-update, чтобы модифицировать среду вашей системы, и повторно войти чтобы перечитать /etc/profile.
Для пользователей java-config --set-user-classpath создаст $HOME/.gentoo/java-env-classpath, который автоматически будет включён в $HOME/.gentoo/java-env.
3. Дополнительные ресурсы
man java-config java-config --help Непосредственно сам скрипт /usr/bin/java-config Архив почтовой рассылки gentoo-dev, gentoo-user #gentoo on irc.openprojects.net4. Предостережения
Если Вы выбираете JRE VM по умолчанию, Команда javac, будет не доступна до тех пор пока вы не сделаете символическую ссылку.
Jikes будет использоваться для компиляции некоторых больших пакетов. Со временем мы надеемся скомпилировать все java зависимые пакеты с Jikes, так некоторые зависимости от JDK могут быть заменены зависимостью от JRE.
В некоторых версиях Portage при выполнении emerge --world update будет установлено JDK, независимо от того, устанавливали ли вы его прежде или нет. Это - известная ошибка, адресованная к более поздним версиям Portage.