Gentoo Logo

Disclaimer : Dit document is niet juist en is niet meer onderhouden.


Gentoo Java Handleiding

Inhoud:

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.



Print

Upgedate op 4 September 2003

De originele versie van dit document wordt niet meer onderhouden

Korte inhoud: Gebruikers- en ontwikkelaarshandleiding tot Java onder Gentoo

Karl Trygve Kalleberg
Author and Editor

Sven Vermeulen
Translator

Tiemo Kieft
Translator

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.