Hvordan opretter man jar-fil med pakkestruktur?
Du skal begynde at oprette JAR'en ved roden af filerne.
Så for eksempel:
jar cvf program.jar -C path/to/classes .
Det forudsætter, at path/to/classes
indeholder com
bibliotek.
Til info, i disse dage er det relativt ualmindeligt for de fleste mennesker at bruge jar
kommandoen direkte, da de vil bruge et byggeværktøj som Ant eller Maven til at tage sig af det (og andre aspekter af bygningen). Det er besværet værd at lade et af disse værktøjer tage sig af alle aspekter af din build, og det er endnu nemmere med en god IDE til at hjælpe med at skrive build.xml
(Ant) eller pom.xml
(Maven).
Du vil have
$ jar cvf asd.jar .
for at angive biblioteket (f.eks. .
) til jar
fra. Det vil bevare din mappestruktur i jar-filen.
Fra den mappe, der indeholder com
mappe:
$ jar cvf asd.jar com
added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/a.class(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/b.class(in = 0) (out= 0)(stored 0%)
adding: com/cdy/ws/c.class(in = 0) (out= 0)(stored 0%)
$ jar -tf asd.jar
META-INF/
META-INF/MANIFEST.MF
com/
com/cdy/
com/cdy/ws/
com/cdy/ws/a.class
com/cdy/ws/b.class
com/cdy/ws/c.class