Java vejlednigen
1.
Hvad er Java?
Overblik
Java er et programmeringssprog udviklet af ingeniørerne hos Sun
Microsystems. Sproget er objekt-orienteret og designet til at køre på
forskellige platforme uden brug for at gen-kompilere kode til hver
platform. Selvom Java kan kompileres til et platform specifikt
program, så skylde meget af dets popularitet dets flytbarhed, sammen
med andre ting såsom automatisk garbage collection. Muligheden for at
kompilere en gang og køre på forskellige platforme opnås ved brug af
just-in-time kompilere (JIT), som kompilerer Java bytecode til
platform specifikt kode når et givent program bliver kørt.
For at kunne køre Java bytecode, så er man nødt til at have et JRE
(Java Runtime Environment) installeret. Et JRE tilbyder essentielle
biblioteker, en platform afhængig Java Virtual Machine, plug-ins til
browsere, for at nævne nogle. Et JDK (Java Development Kit) tilføjer
programmeringsværktøjer, såsom en bytecode kompiler og en debugger.
2.
Installering af en JRE/JDK
Valgene
Gentoo tilbyder adskillige JRE'er og JDK'er. Bland de nuværende
alternativer er der:
- blackdown-jre og blackdown-jdk, Blackdown Java Kit
- sun-jre-bin og sun-jdk, Sun's Java Kit
- ibm-jre-bin og ibm-jdk-bin, IBM Java Kit
- compaq-jre og compaq-jdk, the Compaq Java Kit til Alpha/Linux/GNU
- jrockit-jdk-bin, BEA WebLogic's J2SE Development Kit
Standarden er Blackdown JRE/JDK parret, da det er gratis ("free as in beer")
tilgængeligt uden nogen form for registreringshalløj.
Både Sun JRE/JDK og IBM JRE/JDK er generelt hurtigere, men at få fat i
dem er lidt sværere, da du kræves at læse og acceptere deres licens
før at du downloader (IBM kræver derudover at du registrer dig).
Vores ebuilds til Sun og IBM JRE/JDK fortæller dig hvor du skal gå hen
for at downloade dem.
Installering af Sun/IBM JREs/JDK
Hvis du kører emerge =sun-jdk-1.4.2.06 eller
ibm-jdk-bin-1.4.2, bliver du underrettet om at du selv skal
downloade de aktuelle tarballs. Dette er pga. restriktioner for Sun
JRE/JDK (online klik-indpaknings licens) og registrerings problemer
med IBM JRE/JDK.
Bemærk:
ibm-jdk-bin er pt. masked, så du bliver selv nødt til at unmaske den
for at bruge den.
|
Du bør downloade de(n) indikerede fil(er) til
/usr/portage/distfiles. Når det først er gjort, kan du
køre emerge kommandoen igen, derefter bliver JRE/JDK installeret
korrekt i /opt.
3.
Konfiguration af din JRE/JDK
Overblik
Gentoo har evnen til at have adskillige JDK'er og JRE'er installeret
samtidig uden at få konflikter pga. dette.
Ved at bruge java-config værktøjet kan du sætte en stadard, der gælder for hele
systemet hvis du har root adgang. Brugere kan også bruge java-config til at sætte
deres personlige standard, der er forskellig fra den standard, der er sat på systemet.
At sætte en standard JRE/JDK
At køre kommandoen java-config --list-available-vms vil give
dig en liste over alle de JRE og JDK, der er på systemet, her er et
eksempel på output:
Kode oversigt 3.1: At liste de tilgængelige VMs |
[%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)
|
Navnet i de firkantede paranteser "[]" er ID'et for den
pågældende VM. Du sender dette ID til java-config
--set-system-vm. Her er et eksempel på hvorden du sætter global VM.
Kode oversigt 3.2: At sætte en global 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)
|
Bemærk:
Du bliver nødt til at være root for at køre --set-system-vm
|
Når du først har kørt java-config --set-system-vm med et bestemt ID for en
VM, bliver du nødt til at regenerere din /etc/profile.env. Du kan gøre
det sådan:
Kode oversigt 3.3: At regenerere /etc/profile.env |
[#1 ~] env-update
|
Efter dette bliver du nødt til at logge ind igen eller bruge ressourcen
/etc/profile til dit miljø.
Som almindelig bruger kan du køre java-config --set-user-vm,
hvilket vil lave ~/.gentoo/java-env med alle krævede miljø-variabler. Du ville normalt
hente dette fra din shells opstartsscript (~/.bashrc
i mit tilfælde).
At sætte en standard CLASSPATH
java-config kan også bruges til at sætte en global standard for
hele systemets CLASSPATH, og selvfølgelig også en bruger-specifik standard CLASSPATH.
Du ønsker først at liste alle de tilgængelige java biblioteker der
måske er interessante at putte i din CLASSPATH, her er et eksempel på output:
Kode oversigt 3.4: At liste klasser |
[%1 ~] java-config --list-available-packages
[bsh] BeanShell is a small, free, embeddable, Java source interpreter
with object scripting language features. (/usr/share/bsh/package.env)
[oro] A set of text-processing Java classes that provide Perl5
compatible regular expressions, AWK-like regular expressions, glob
expressions, and utility classes for performing substitutions, splits,
filtering filenames, etc. (/usr/share/oro/package.env)
[bcel] The Byte Code Engineering Library: analyze, create, manipulate Java class files (/usr/share/bcel/package.env)
[jsch] JSch is a pure Java implementation of SSH2.(/usr/share/jsch/package.env)
...
|
Igen, navnet i de firkantede paranteser "[]" er de ID'er
som du sender til java-config --set-system-classpath,
her er et eksempel:
Kode oversigt 3.5: At sætte classpaths |
java-config --set-system-classpath=log4j,java-gtk,java-gnome
|
Bemærk:
Det nuværende bibliotek (.) vil ikke være en del af systemets
classpath, da dette bør være tilføjet i root's login profil.
|
Du vil igen ønske at køre env-update for at opdatere dit
systems miljø og du vil måske også ønske at logge ind igen eller
bruge /etc/profile.
For brugere vil java-config --set-user-classpath lave
~/.gentoo/java-env-classpath,
som automatisk bliver inkluderet af ~/.gentoo/java-env.
4.
USE flag der skal bruges sammen med Java
Opsætning af USE flag
For mere information omkring USE flag, referer da til USE flag
kapitlet i Gentoo Håndbogen.
Flagene
-
java flaget tilføjer understøttelse for Java i de
forskellige programmer der understøtter det.
-
mozilla flaget tilføjer understøttelse for Mozilla-lignende
browsere (inklusiv Firefix) hvis du bruger blackdown's Java kit. Du
får brug for dette for at kunne se Java applets i din
Mozilla-lignende browser.
5.
Yderligere ressourcer
Offline ressourcer
- java-config man siden
- java-config --help
-
/usr/bin/java-config
scriptet selv
Online ressourcer
Indholdet i dette dokument er autoriseret under en Creative Commons -
Attribution / Share Alike licens.
|