我包含一個49MB大小的庫。但是,我只使用了一些功能,並且我不希望整個庫存在於最終的jar中。我使用了proguard。但是,我並未成功縮小規模。如何減少jar大小
任何人都可以讓我知道正確的工具,可以智能地刪除未使用的類/罐子。
我包含一個49MB大小的庫。但是,我只使用了一些功能,並且我不希望整個庫存在於最終的jar中。我使用了proguard。但是,我並未成功縮小規模。如何減少jar大小
任何人都可以讓我知道正確的工具,可以智能地刪除未使用的類/罐子。
Java SE 5和6已經有一個名爲「pack200」的打包工具。該工具能夠壓縮已經存在的jar文件,然後用於網絡分發。我壓縮使用以下命令的rt.jar中:
C:\程序\的Java \ jdk1.6.0 \ JRE \ lib文件> pack200 -J-Xmx256m rt.jar.gz的rt.jar
的標誌 - JX ..是必要的,因爲可能會出現內存溢出,否則異常(pack200是用Java編寫...) 結果是驚人的:
產地大小:43.8 MB 壓縮後的大小:5.81 MB
對於拆包可以使用工具「unpack200」。
對於WebStart應用程序的分發,工具包200特別有趣,可以實現更快的下載時間。已經有另一個衆所周知的樣品 - 玻璃魚。在第二個安裝階段,GlassFish的解壓使用unpack200工具內部的圖書館...
字體:http://www.adam-bien.com/roller/abien/entry/how_to_reduce_the_jar
如果你有一個Maven項目,你可以使用maven-shade-plugin
,有一個名爲minimizeJar
配置。
可以由package
階段應用程序的maven-shade-plugin
的minimizeJar
配置選項綁定:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<minimizeJar>true</minimizeJar>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
...
</project>
爲什麼你不在乎它有多大?考慮使用maven-shade-plugin,它具有此功能。 – bmargulies