IOException
#programowanie #java Zbudowałem prosty konsolowy program, niestety z lenistwa pododawałem mnóstwo third party jars, typu apache commons itp(nie chciało mi się pisać swoich metod). Teraz jak buduje runnable jar to wielkość kloca to ok 3mb, a muszę to zmieścić w max 200kB. Wiecie jak to odchudzić? Może wyrzucić zbędne klasy z bibliotek, albo może jest jakiś inny sposób?
  • Najlepsze
  • Wszystkie komentarze
adios
@IOException: spoko, w Javie 7 możesz mieć JARa do 16-stu eksabajtów.
Darjo
@IOException: jesli uzwales mavena to mozna pokombinowac z Maven Shade Plugin i wybierac pakiety potrzebne z zaleznosci https://maven.apache.org/plugins/maven-shade-plugin/examples/includes-excludes.html
IOException
IOException Autor
0
@adios: ? Nie czaję Twojej odpowiedzi. Możesz wyjaśnić.
sztilq
@adios: on chce zmniejszyc, bo ma takie wymaganie
Uszatyy
@IOException: @Darjo powiedział żebyś nie ładował całych bibliotek tylko ich części, które wykorzystujesz.
ppawel
@IOException: Złota (wiem, że banalna) rada - zobacz które jarki ważą najwięcej i sprawdź na ile możesz z nich zrezygnować ;) Btw, zdaje się, że niektóre apache commons mają swoje pod-podpakiety - być może wystarczą te mniejsze.

wyrzucić zbędne klasy z bibliotek

Na ostro: plik Jar to zwykłe archiwum, może otworzyć jako archiwum np 7zipem i wyrzucić pakiety, z których nie korzystasz. bedziepanzadowolny.jpg ale poza krytycznymi sytuacjami raczej nie stosowałbym
l.....r
l.....r
@IOException: dobra ale jeżeli to prosty programik, to cos ty tam nawrzucał?
ania-nowak1231
@IOException: Możesz spróbować ProGuardem uruchomić usuwanie nieużytych klas. Nie wiem czy i jak dobrze to działa ale mają taką opcję. Albo po prostu zobacz które jarki są największe i je wyrzuć.
IOException
IOException Autor
0
@lerner: log4j, commons loggin, lang, collections, math
l.....r
l.....r
@IOException: i to tyle zajmuje?