1 jar-filer 1.1 Översikt Jar-filer är ett sätt att paketera en javaapplikation i en enda fil. En jar-fil kan innehålla bytekod,.classfiler, och andra filer som hör till en applikation, som textfiler, bilder, datafiler och annat. En jar-fil är egentligen en speciell form av.zipfil. Man kan se vad som finns i en.jarfil med hjälp av zipfilsläsare såsom WinZip eller den zip-läsare som finns inbyggt i WinXP/2003. Man ska däremot inte skapa jarfiler med dessa verktyg; jar innehåller delar som WinZip och liknande inte kan skapa. Syftet med dokumentet är beskriva jarfilen struktur och hur man skapar en körbar jarfil. 1.2 jar-filers struktur Om vi tittar på en.jarfil i Utforskaren, detta är den jarfil som netbeans automatiskt skapar i projektmappen under mappen dist. Exemplet är den jarfil som skapats av projektet för exemplet KeyboardReading. jarfilen är omdöpt med en.zipändelse för att windows ska känna iden filtypen. keyboardreading mappen innehåller.classfilerna som applikationen består av. Mappen skapas av netbeans eftersom miljön definerar ett paket döpt efter projektnamnet(keyboardreading), paket delas upp i filsystemet som mappar. 1.3 jar manifest Det speciella med.jarfiler ligger i mappen META-INF. META-INF innehåller metadata, dvs data om jarfilen och applikationen själv, hur applikationen fungerar, vilka rättigheter applikationen kräver, om den är digitalt signerad av utfärdaren och andra saker. Man lägger ingenting som hör till själva applikationen i denna mapp.
All denna data ligger i en fil MANIFEST.MF. Manifest.mf är en vanlig textfil med en speciell ändelse. Formatet i textfilen bestäms av jarformatet. Raderna i textfilen har en speciell syntax Dessa rader är skapade av NetBeans-miljön. Som man ser är datat i manifestet radbaserat, varje rad anger data i ett namn-värdepar. Manifestets form NAMN: VÄRDE De intressanta raderna som krävs för att skapa en körbar applikation är Manifest-Version: 1.0 Main-Class: keyboardreading.keyboardreading 1.4 Att skapa en jar-fil Man skapar själv en jarfil med hjälp av verktyget jar.exe. jar.exe är ett textbaserat kommandoradsverktyg som ligger i./bin katalogen i din java-installationsmapp.
Exempel 2 ger oss ledning hiur vi ska skapa en körbar applikation jar cvfm Applikationsfil Manifestfil Klassfiler Antag att vi skrivit en applikation där klassen som innehåller main() metoden heter StartKlass (i filen StartKlass.class); och vi har en mapp klasser/ med våra klassfiler inklusive StartKlass. 1 - Skapa manifestfilen. Starta notepad eller liknande texteditor skapa en fil "manifest.txt", låt filen innehålla texten Manifest-Version: 1.0 Main-Class: StartKlass Var noga med att filen innehåller två textrader, med ett namn/värdepar på varje rad. Lägg manifest.txt i samma mapp som klasserna. 2 - Skriv följande kommando i mappen klasser/ jav cvfm MinApplikation.jar manifest.txt *.class Det är noga att bokstäverna cvfm står i ordning. c-create, v-verbose (utförliga meddelanden), f-file (ange filnamn för den jarfil som ska skapas), m-manifest(lägg till manifestfil). Du bör få ett meddelande snarlikt det som visas ovan. Nu finns det en fil MinApplikation.jar 1.4.1 Konfigurera windows för jarfiler Det kan tänkas att javainstallationen redan gjort dessa steg för dig. Om så är fallet behöver du inte gör dem igen.
Gå nu till utforskaren välj menyn Tools/Verktyg - välj Folder Options/Mappalternativ - välj fliken Fil Types/Filtyper - tryck New.../Ny... skriv jar och Ok. Med jartypen vald väljer du Advanced/Avancerat Välj därefter New om action open inte finns. Välj Edit om open finns.
I rutan application used bläddrar till din javainstallatiotions javatolk javaw.exe. Därefter gör du tillägget -jar "%1" %* "C:\Program Files\Java\jre1.5.0_05\bin\javaw.exe" -jar "%1" %* eller "C:\Program Files\Java\jre1.5.0_05\bin\java.exe" -jar "%1" %* Använd java.exe om du vill kunna köra textbaserade applikationer. Detta associerar jarfiler med javatolken. Tryck ok på dialogrutorna. Nu är jarfiler körbara. Du kan starta dem genom att dubbelklicka jarfilen, eller genom att skriva start MinApplikation.jar eller bara MinApplikation.jar i kommandotolken. Den första startar en ny process (eget fönster) den andra startar den i kommandotolksfönstret.