signed applet - połączenie plików .jar w jeden



Przy okazji tematu podpisywania apletów, zastanawiałem się nad możliwością połączenia kilku plików .jar w jeden. Po kilku nieudanych próbach, temat odstawiłem na później. Sprawa nie dawała mi jednak spokoju i wczoraj postanowiłem spróbować ponownie.

W omawianym poprzednio przykładzie podpisywałem trzy pliki .jar:
buttonSigned.jar
controlP5.jar
core.jar


Podpisywanie każdego pliku z osobna ma taką zaletę, że gdy zmieniamy coś w kodzie głównej klasy apletu, to po kompilacji podpisujemy tylko jeden plik - buttonSigned.jar w tym przypadku.
Składnia osadzenia apletu w pliku html wygląda tak:
<applet id="app" code="buttonSigned.class" value="buttonSigned.jar,controlP5.jar,core.jar" width="400" height="400">
</applet> 

Jeśli jednak będziemy potrzebowali połączyć powyższe pliki .jar w jeden, to można tego dokonać w taki sposób:
1.rozpakowujemy core.jar poleceniem
jar -xf core.jar
powstał katalog processing
2.rozpakowujemy controlP5.jar poleceniem
jar -xf controlP5.jar
powstał katalog controlP5
3.dokonujemy modyfikacji głównego pliku archiwum - buttonSigned.jar poleceniami
jar -uf buttonSigned.jar processing
jar -uf buttonSigned.jar controlP5

Po tej operacji, rozmiar pliku buttonSigned.jar się powiększył. Możemy teraz podpisać tylko ten jeden plik, poleceniem:
jarsigner -keystore kluczyki buttonSigned.jar aliaseb

Kod osadzenia apletu na stronie html wygląda teraz tak:
<applet id="app" code="buttonSigned.class" value="buttonSigned.jar" width="400" height="400">
</applet> 

Komentarze