Gentoo Java Handleiding
1.
Een JDK/JRE installeren
Overzicht
Gentoo levert verschillende JDKs en JREs. De default is de
blackdown JDK/JRE set, en is vrij beschikbaar zonder eender welke
registratiemoeilijkheden.
Nota:
Aangezien kaffe hun JRE/JDK steeds verder en verder ontwikkelt zal
deze waarschijnlijk onze toekomstige set worden.
|
Zowel de Sun JDK/JRE als de IBM JDK/JRE zijn in het algemeen
sneller, maar om hen werkende te krijgen is er iets meer werk
vereist, aangezien je hun licentie moet lezen alvorens je die kan
downloaden (en die van IBM vereist tevens dat je je registreert).
Onze ebuilds voor de Sun en IBM JDK/JRE's zullen je uitleggen waar
je deze kan downloaden.
De Sun/IBM JDK/JREs installeren
Indien je emerge sun-jdk-1.3.1 of emerge
ibm-jdk-1.3.1 uitvoert zal je verteld worden dat je de nodige
bestanden manueel moet downloaden. Dit heeft met licenties te
maken (de Sun JDK/JRE online click-wrap licentie of de IBM JDK/JRE
registratie).
Nota:
Er is tevens een sun-jdk-1.4.0, maar niet alle packages werken goed
met Java 1.4, dus indien je werkelijk 1.4 wenst is er een kans dat je later
zal sukkelen.
|
Je moet de bestanden downloaden en in /usr/portage/distfiles
plaatsen. Eenmaal dat gebeurd is kan je het emerge commando opnieuw uitvoeren
opdat de JDK/JRE goed geinstalleerd zou worden in /opt.
2.
De JDK/JRE configureren
Overzicht
Gentoo heeft de mogelijkheid om meerdere JDKs en JREs geinstalleerd
te staan hebben zonder dat ze in elkaars vaarwater komen. Er zijn
enkele zaken die je moet doen om dit succesvol ten einde te
brengen, zoals later vermeld wordt.
Door gebruik te maken van de java-config tool kan je de
systeem-defaults instellen (indien je root-access hebt tenminste).
Gebruikers kunnen ook hiervan gebruik maken, maar dit is dan enkel
voor hun eigen instellingen (uiteraard).
Een default JDK/JRE instellen
Het commando java-config --list-available-vms zal je een
lijst geven met beschikbare JREs en JDKs op je systeem:
Codevoorbeeld 2.1: Beschikbare VMs voorbeeld |
~# 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)
|
De namen tussen de haakjes "[]" zijn de namen
of IDs van die specifieke VMs. Je kan een van deze IDs doorgeven aan
java-config --set-system-vm:
Codevoorbeeld 2.2: Het Java VM systeem instellen |
~# 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)
|
Nota:
Je moet root-access hebben om --set-system-vm uit te kunnen voeren.
|
Nadat je een specifieke vm meegegeven hebt aan java-config
--set-system-vm dan moet je je /etc/profile.env
regenereren:
Codevoorbeeld 2.3: /etc/profile.env regenereren |
~# env-update
|
Hierna moet je ofwel herinloggen op je systeem, of
/etc/profile sourcen in je huidige shell.
Als gewone gebruiker kan je java-config --set-user-vm
uitvoeren, wat een $HOME/.gentoo/java-env zal aanmaken
met daarin alle nodige omgevingsvariabelen. Je zou dit bestand het
best sourcen vanuit je ~/.profile.
Een CLASSPATH instellen
java-config kan gebruikt worden om een systeemwijde of
gebruiker-afhankelijke CLASSPATH in te stellen (afhankelijk of je als root of
als niet-gepriviligeerde gebruiker werkt).
Allereerst zal je een lijst willen aanmaken met java bibliotheken
die je in je CLASSPATH wil steken:
Codevoorbeeld 2.4: Classes weergeven |
~$ 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)
|
Nota:
Geen enkel van deze packages hebben een duidelijke omschrijving.
Dat is iets wat in de niet-zoverre toekomst geimplementeerd zal
worden.
|
Opnieuw, de namen tussen de haakjes zijn de IDs die je aan
java-config --set-system-classpath kan doorgeven:
Codevoorbeeld 2.5: Classpaths instellen |
~# java-config --set-system-classpath=log4j,java-gtk,java-gnome
|
Nota:
De huidige directorie mag niet deel zijn van de classpath,
aangezien dat gebruikersafhankelijk moet zijn!
|
Opnieuw zal je moeten env-update moeten uitvoeren om je
omgevingsvariabelen algemeen in orde te zetten, en zal je opnieuw
moeten inloggen of /etc/profile sourcen.
Voor gebruikers zal java-config --set-user-classpath
~/.gentoo/java-env-classpath aanmaken die door
~/.gentoo/java-env vanzelf gesourced wordt.
3.
Extra resources
Off-line resources
- java-config man page
- java-config --help
- Het /usr/bin/java-config script zelf
Online resources
4.
Addertjes
Algemene
Indien je een JRE als default VM aanduidt kan het zijn dat je geen
javac commando beschikbaar meer hebt, tenzij je manueel een
symlink aanmaakt om dit probleem op te lossen.
Jikes zal gebruikt worden om de grotere packages te compileren
indien het beschikbaar is. In tijd zullen we proberen om alle
java-afhankelijke packages met Jikes te compileren zodat sommige
afhankelijkheden van de JDK naar afhankelijkheden naar de JRE
kunnen overgezet worden.
Met nieuwere versies van Portage zal emerge --update world
de JDK installeren onafhankelijk van het feit of je die voordien
geinstalleerd hebt of niet. Dit is een bekende fout die in latere
versies van Portage zal geelimineerd worden.
The contents of this document are licensed under the Creative Commons -
Attribution / Share Alike license.
|