Come ridurre la dimensione del file jar?

2

Non so come ridurre la dimensione del file jar. Quando eseguiamo normalmente il codice in Java Swing, viene creato il file jar, esiste un modo per ridurre la dimensione del file jar? Non riesco a rimuovere le immagini e altre cose che ho incluso come è necessario.

Ho provato a decomprimere il file jar e ho cercato di rimuovere la roba che non è necessaria. Volevo ridurre le dimensioni del file jar perché devo caricarlo in un portale per il mio progetto college, la dimensione massima per il caricamento è 1 MB.

    
posta Rick 09.02.2016 - 09:32
fonte

2 risposte

2

Un jar (e war e ear) sono archivi .zip che hanno una specifica directory e struttura di file sotto di essi.

Poiché vengono compressi, l'unico modo per comprimere ulteriormente i contenuti è quello di rimuovere le cose da loro. Questo potrebbe essere sotto forma di deduplicazione (una volta ho trattato la distribuzione che aveva duplicati per le classi e il client che erano stati impacchettati nella stessa implementazione, anche se ammettiamolo che fosse distribuito in una struttura esplosa) o potrebbe essere nel trasferire le risorse a altri servizi.

Le immagini tendono ad essere già compresse e quindi a comprimere male in un archivio compresso (come un .jar). Se le immagini stanno rendendo il .jar troppo grande, devi rimuoverle o sostituirle con immagini più piccole (modifica la complessità dell'immagine in qualcosa che comprime meglio).

Nel caso di "Volevo ridurre le dimensioni del file jar perché devo caricarlo in un portale per il mio progetto universitario" il tuo ricorso è probabilmente per parlare con le persone che ti assegnano il compito. Se non riesci a rendere le immagini più piccole o rimuoverle dal file .jar, non puoi rendere il .jar più piccolo.

    
risposta data 09.02.2016 - 15:56
fonte
5

Esistono diversi modi per ridurre la dimensione dei file .jar. Se hai davvero bisogno di ridurre la dimensione del file .jar senza perdere del contenuto, ti consiglio di provare i seguenti due strumenti automatici.

Compression

Forse il modo più semplice è utilizzare uno strumento diverso per creare il file .jar rispetto allo standard jar distribuito con Java SDK. KZIP è uno di questi strumenti e il migliore che ho incontrato in termini di efficienza della compressione.

obfuscators

Obfuscator come Proguard spesso possono ridurre considerevolmente la dimensione dei file jar. Oltre a rendere l'applicazione più difficile da decodificare, in genere possono manipolare il codice byte in un modo che lo rende più piccolo senza influire sulla funzionalità. Ciò include, ma non si limita alla rimozione del codice inutilizzato e alla ridenominazione dei simboli su quelli più brevi.

Ci sono anche altri modi per ridurre la dimensione del vaso (ad esempio usando immagini png non compresse per una migliore compressione del vaso), ma non sono così pratici da usare.

    
risposta data 10.02.2016 - 12:41
fonte

Leggi altre domande sui tag