Gentoo Logo

Java vejlednigen

Indhold:

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



Udskriv

Opdateret 5. marts 2005

The original version of this document was last updated January 1, 2008

Opsummering: Denne guide vil introducere brugere og udviklere til Java og forklare hvordan man bruger Java med Gentoo Linux.

Karl Trygve Kalleberg
Forfatter og Redaktør

Sven Vermeulen
Redaktør

Marcelo Góes
Redaktør

Arne Mejlholm
Oversætter

Jesper Brodersen
Korrektur

Donate to support our development efforts.

Support OSL

Support OSL

Gentoo Centric Hosting: vr.org

VR Hosted

Tek Alchemy

Tek Alchemy

SevenL.net

SevenL.net

Global Netoptex Inc.

Global Netoptex Inc.

Bytemark

Bytemark

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