^ Linux – Friheden til at programmere: Version 2.5.20050330 – 2020-12-31 ^|
| [[program:installation-haskell|forrige]] | Appendiks A. Installationsvejledninger | [[program:installation-kdevelop|næste]] |
----
==== A.11. Java ====
Javaprogrammer kan oversættes til almindelig maskinkode under Linux med
værktøjet **gcc-java** .
Det første skridt er at hentejdk-1.2.2-RC4-linux-i386-glibc-2.1.2.sh. Denne
pakke kan findes de sædvanlige steder såsom[http://sunsite.dk|http://sunsite.dk], på[http://www.blackdown.org|http://www.blackdown.org]og[http://java.sun.com|http://java.sun.com]. JDK'en som du skal
hente, skal passe til din Linux-distribution. Der er forskellige
pakker til netop den version af glibc som du benytter i din
distribution. Du kan se hvilken version af glibc du benytter, ved at se hvilken
symbolsk henvisninglibc.so.6peger på (entenlibc-2.1.xellerlibc-2.0.x). Pakken fylder godt 20 Mb.
Du kan installere kommandofortolkerinstallationspakken (ender på .sh), men
der findes også almindelige tar og **gzip** 'ede filer. Installation af
kommandofortolkerinstallationen foregår ved (se nedenfor vedrørende hvor det
kan betale sig at installere det):
hven#cd /usr/localhven#chmod +x DIN_STI/jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.shhven#DIN_STI/jdk-1.2.2-RC4-linux-i386-glibc-2.1.2.sh
Hermed er udviklings- og kørselsmiljøet til Java installeret! Du skal dog
gennem et par ekstra skridt for at det virker tilfredsstillende.
Man mangler Zapf Dingbats-skriftsnit i installationen. Disse hentes på[http://www.gimp.org/fonts.html|http://www.gimp.org/fonts.html]. Installation
af disse er beskrevet på webstedet. Man skal i korthed hente URW-skriftsnitteneurw-fonts.tar.gz. Disse skal **gunzip** 'pes og af- **tar** 'es i X Window
systemets skriftsnitskatalog:
[root@beta /root]#cd /usr/X11R6/lib/X11/fonts[root@beta /usr/X11R6/lib/X11/fonts]#tar xzvf /mnt/cdrom/Java/java3d/linux/urw-fonts.tar.gz[root@beta /usr/X11R6/lib/X11/fonts]#chown -R root.root
Dernæst skal man ændre sin X Window opsætningsfil. Hvis ens distribution
kører med X Window-skriftsnitstjener, så hedder filen/etc/X11/fs/config(Red Hat), ellers skal man rette i/etc/X11/XF86Config(Red Hat) som beskrevet nedenfor
(Red Hat 6.x bruger skriftsnitstjener):
/usr/X11R6/lib/X11/fonts/misc:unscaled,
/usr/X11R6/lib/X11/fonts/75dpi:unscaled,
/usr/X11R6/lib/X11/fonts/100dpi:unscaled,
/usr/X11R6/lib/X11/fonts/URW,
/usr/X11R6/lib/X11/fonts/misc,
/usr/X11R6/lib/X11/fonts/Type1,
/usr/X11R6/lib/X11/fonts/Speedo,
/usr/share/fonts/default/Type1
Ændringer til X Window Server XF86Config filen er beskrevet på[http://www.gimp.org/fonts|http://www.gimp.org/fonts], og for
skriftsnitstjener filen skal fjerde linje med URW-skriftsnittene føjes til
filen/etc/X11/fs/config. For at genstarte
skriftsnitstjeneren køres programmet **xfs** med parametren **restart** i/etc/rc.d/init.d(som
brugeren "root"). Næste gang din
Linux-maskine starter startes X-skriftsnitstjeneren automatisk med de nye
typer.
Nu mangler vi bare at sørge for at dine systemvariable er sat korrekt. Det er
specielt stien der skal være sat så den kan inkludere dine kørbare
Java-programmer. Normalt behøver man ikke sætte andre systemvariable hvis man
har installeret i/usr/local/jdk1.2.2. Kataloget der skal
føjes til stien (systemvariablenPATHellerpath), er/usr/local/jdk1.2.2/bin. Det er dog en god idé også at
sætteJAVA_HOMEtil/usr/local/jdk1.2.2.
De to vigtigste kørbare filer er **javac** (oversætteren) og **java** (som er Javas virtuelle maskine, JVM).
=== A.11.1. Installation af Java3D ===
Der findes masser af andre pakker der er interessant til udvikling af
Java-programmer. Det er et spørgsmål om hvad man har brug for, og
så ellers komme i gang med den. Et interessant valg er Java3D. Det er
et meget elegant design af et visualiserings API, så derfor vil jeg
kort beskrive hvordan man installerer det, og hvad det kan.
For det første hører Java3D til media-pakkerne som indeholder alt til
udvikling af multimedie og Virtual Reality, spil osv. Java3D er en
pakke der stiller klasser til rådighed til udvikling af
3-d-visualiseringssystemer. Java3D er et elegant værktøj der skulle
stille de fleste 3-d-visualiseringssystem-udviklere tilfreds. Det
baserer sig på scenegrafprincippet. Dvs. alle visuelle objekter i en
virtuel verden er hængt op i en scenegraf. Der er knuder der kan
gruppere dele af det virtuelle univers, knuder der kan lave
transformationer på underliggende knuder, knuder der repræsenterer
egentlige virtuelle objekter, lys og kameraet (øjenpunktet) osv.
Der skal en hel del til for at installere Java3D på din Linux-maskine. Først
og fremmest bygger Java3D på OpenGL. På Linux er den frie udgave af OpenGL
et bibliotek kaldet Mesa ([http://www.mesa3d.org/|http://www.mesa3d.org/]). Mesa kan også
findes som RPM- og deb-pakke, og Java3D har brug for version 3.1-3 (eller
senere). Hvis du kører Red Hat 6.1, er du ude efter filenMesa-3.1-3rh61.i386.rpm. Du //kan// vælge også at lægge glut (et bibliotek til at lave menuer og deslige) og
Mesas eksempelsamling ind (Mesa-glut-3.1-3rh61.i386.rpmogMesa-demos-3.1-3rh61.i386.rpmpå et Red Hat
6.1-system).
Desværre er det sådan at Mesa lægger OpenGL lib-filerne somlibGL.so.xxx, mens Java3d forventer at de hedderlibMesaGL.so.xxx. Derfor skal du i /usr/lib lave
et ekstra link:
hven#cd /usr/libhven#ln -s libGL.so.1.2.0 libMesaGL.so.3
Nu er det så tid til at installere Java3D. Det er ikke så svært. Det
vigtigste er at hvis man lægger Java3D samme sted som Java 2 SDK, er
det problemfrit, ellers skal man sørge for at sætte systemvariablenCLASSPATHtil at inkludere stien til Java3D-filerne.
Filen du skal hente fra[http://java.sun.com|http://java.sun.com]erjava3d1.1.1pre-v1-linux-sdk.tar.bz2.
Du kan kun bruge java3D sammen med Java 2 (den der er beskrevet i det foregående).
Dernæst skal du installere den ved hjælp af **tar** . Inden du
gør det, skal du gennem et par skridt for ikke at løbe ind i alt for mange
problemer sidenhen. Du vil gerne have Java3D til at ligge sammen med din
jdk1.2.2-installation. Problemet er at Java3D-installationen er pakket
i et katalog der hedder jdk1.2, derfor skal du sikre dig at/usr/local/jdk1.2/peger på/usr/local/jdk1.2.2/før du udpakker Java3D-filen:hven#cd /usr/local/hven#ln -s jdk1.2.2 jdk1.2hven#tar xjvf java3d1.1.1pre-v1-linux-sdk.tar.bz2...
(vi er her gået ud fra at du lagde Java3D i kataloget/usr/local/). Nu er du kørende med Java3d.
Det er specielt to ting der er lagt ned i din Java-installation. Det
er delvist Java-biblioteker i/usr/local/jdk1.2.2/jre/lib/extog Java3D
demo-filer.
Inden vi beskriver et lille programeksempel, vil jeg omtale
indlæsningsroutiner til java3d. Det er sådan at det kan være et
meget omfattende arbejde og er egentlig imod
3-d-visualiseringsparadigmet at programmere sig til den visuelle
verden. Det man bør gøre, er at definere den virtuelle verden i en
separat fil i et eller andet format. Der findes til Java3D en lang
række indlæsningsroutiner til at læse sådanne filer. Et meget kendt
format er VRML som på en måde er internettets foretrukne 3-d
virtuelle modelformat. Java kommer ikke med en indlæsningsroutine
til VRML, men heldigvis findes den gratis på[http://www.vrml.org/|http://www.vrml.org/]. Du kan også
hente java3d vrml indlæsningseksempeler i kildetekst. Den Java-jar
(Java biblioteksfil) som heddervrml97.jar, skal
lægges ned i/usr/local/jdk1.2.2/jre/lib/ext, så
kan man bruge den i forbindelse med udvikling af Java-3-d-programmer
der benytter indlæsning af VRML filer.
For eksempler på Java-3-d-programmer henvises der til installationen af
Java3d, hvor der er inkluderet 37 programeksempler inkluderende
vrml-eksempelprogrammer.
På internettet kan der desuden findes et utal af modeller af visuelle
objekter, i alle mulige typer af formatter, herunder VRML.
----
| [[program:installation-haskell|forrige]] | [[program:index|hjem]] | [[program:installation-kdevelop|næste]] |
| Haskell | [[program:program-installation|op]] | KDevelop |