_ 1.2 Paketering Uppgiften går ut på att arkivera och komprimera en mängd class-filer (och även andra typer av filer som bild-filer med mera) med jar-verktyget. Detta kan vara mycket bra om man ska distribuera sitt program över Internet eftersom man då enbart behöver sända en enda fil som dessutom är komrimerad. När man exempelvis använder extensioner till Java så är de mycket ofta packade i en jar-fil. Notera att en jar-fil givetvis kan packas upp och att det finns inbyggt stöd för det i §jar§-programmet. __ Uppgift Arkivera och komprimera filerna från uppgiften [1.1 Multitrådning, 05_ass/ip1/1.1.txt] till en jar-fil. Testa även att det går att köra denna jar-fil. Om man valt ett annat språk än Java och det inte finns en motsvarande teknik så kan man hoppa över denna uppgift. __ Exempel Se exempel under uppgiften [1.1 Multitrådning, 05_ass/ip1/1.1.txt]. __ Tips Man arbetar i ett kommandofönster och går till den katalog där alla class-filer finns. För applikationer görs sen en jar-fil enligt följande: § jar cmf ... § där: - §c§ betyder att man ska skapa (create) - §m§ betyder att man ska använda en manifest-fil - §f§ betyder att output ska gå till fil istället för till §STDOUT§ Ett exempel är att man först skapar en manifestfil (här filen §manifest.txt§) med följande innehåll som berättar vilken, av alla class-filer, som är startklass: § Main-Class: ThreadTester § Sen skapar man en JAR-fil med: § jar cmf manifest.txt ThreadTester.jar *.class § Man kan nu ta bort alla class-filer och testköra med: § java -jar ThreadTester.jar § Om något har gått snett: - Ta bort alla manifest-, class- och jar-filer och kompilera om allt - Använd en editor som inte lägger till skräptecken för skapandet av manifestfilen - Det ska vara ny rad efter den första raden i manifest-filen Notera att man kan packa in även andra filer än class-filer i en jar-fil. Om ett program exempelvis använder bilder så vill man givetvis inkludera även dessa i jar-filen och då behövs en mer utförlig vägbeskrivning till bilden: § private URL url = ClassLoader.getSystemResource("x.jpg"); private Icon i = new ImageIcon(url); § Se [Oracle: jar, http://docs.oracle.com/javase/8/docs/technotes/tools/windows/jar.html] för mer info. __ Hjälp ~ 05_ass/help/01.txt > [Klicka här för hjälp, helper.dsv@gmail.com, Prog Internet: 1.2: Paketering: http://people.dsv.su.se/~pierre/i/i.cgi?href=05_ass/ip1/1.2.txt] ½===system_tutoring_message===½ < ~ 05_ass/help/02.txt