Distribusjon av Java-applikasjoner

Aller først tar vi med litt om exe-filer for Windows. Deretter ser vi på distribusjon av Java-programmer til generelle plattformer.

Exe-filer for kjøring under Windows

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.

Distribusjon til vilkårlige plattformer

Hva trengs for å kjøre et Java-program?

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.)

Å pakke egne filer sammen i en  utførbar Java Archive (jar)-fil

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.

Å kjøre en kjørbar jar-fil

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.

Jar-filer i classpath

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