Aller først tar vi med litt om exe-filer for Windows. Deretter ser vi på distribusjon av Java-programmer til generelle plattformer.
Det er fullt mulig å lage exe-filer for Windows. Disse programmene kan imidlertid ikke bruke noe av det som var nytt med SDK2, f.eks. Swing og RMI.
En utførlig brukerveiledning finner du her.
Et Java-program består av byte-kode fordelt på flere class-filer. I tillegg til klassene vi selv har laget, bruker vi vanligvis en del klasser i Java-API'et.
Byte-koden er plattformuavhengig. For å kunne kjøre byte-koden på en bestemt plattform (eller under et bestemt operativsystem), må vi ha en Java-tolker tilpasset denne plattformen.
Produktet Java 2 Runtime Environment (jre) inneholder Java-API'et og en Java-tolker. (Under utvikling bruker vi SDK2 som inneholder en god del mer, f.eks. kompilatoren javac og appletviewer.)
En bruker som skal kjøre et Java-program trenger altså to ting:
1. De class-filene programmet vårt består av. Disse pakker vi i sammen i en
såkalt jar-fil, se nedenfor.
2. Java 2 Runtime Environment. Dette produktet kan vi distribuere sammen med
jar-filen fra pkt. 1. Dette i motsetning til SDK 2, som det ikke er tillatt å
redistribuere.
Detaljer
om nedlasting og lisensiering av jre. (Denne versjonen av jre er ikke den
samme som følger med SDK 2, og som du finner i katalogen jdk1.3/jre.)
Vi kan selvfølgelig pakke class-filene sammen i en zip-fil, men dette er unødvendig tungvint for brukeren. Han må da pakke opp disse og selv kjøre riktig klasse (den som inneholder main()) fra kommandolinjen.
En jar-fil lages med jar-verktøyet som følger med SDK. Verktøyet pakker class-filene i zip-format. Dette betyr at du f.eks. kan bruke WinZip til å se på innholdet i en jar-fil.
En jar-fil er en zip-fil med "nogo attåt". Vi skal her kun se på det tillegget som gjør det mulig å lage en "exceutable jar file". For andre muligheter, klikk her.
Oppskrift for å lage en kjørbar jar-fil:
1. Plasser alle filene i samme katalog, f.eks. i katalogen mittJarEksempel
2. Vi må så fortelle hvordan programmet vårt skal starte opp, det vil si at
vi må sette opp navnet på den klassen som inneholder main(). Her må vi være
nøye med syntaksen. Anta at main() ligger i klassen HalloVerden. Da skal vi
legge følgende linje i en tekstfil (husk å trykke linjeskift etter linjen):
Main-Class: HalloVerden
Anta at denne filen får navnet oppstart.txt. Filen skal ligge i samme katalog som class-filene.
3. Vi lager jar-filen med følgende kommando fra kommandolinjen i et konsoll-vindu (* betyr alle class-filer i katalogen):
>jar cmf oppstart.txt minJar.jar *
Den ferdige jar-filen heter nå minJar.jar.
Du kan kjøre jar-filen fra kommandolinjen, slik:
>java -jar minJar.jar
Eller du kan klikke på filnavnet i et utforsker-program.
Men det forutsetter altså at Java 2 Runtime Environment er installert på maskinen.
Dersom en ønsker at brukeren skal ha direkte tilgang til class-filene som ligger i jar-filen, kan en sette opp jar-filen i classpath. Anta at filen foran ligger i katalogen c:\java\mineProgrammer\mittJarEksempel. Dersom du utvider classpath med c:\java\mineProgrammer\mittJarEksempel\minJar.jar, (mer at filnavnet må med i classpath) så vil brukeren kunne kjøre programmet HalloVerden slik:
>java HalloVerden
Brukeren vil også kunne bruke klassene i jar-filen i sine egne programmer.
I boka side 614 bruker vi en zip-fil med klasser på denne måten.
Sist revidert: 25.04.2001 Else Lervik