通过loosejar清理应用中冗余的jar包
jopen
10年前
随着应用规模的逐渐增大,依赖的jar包数量也大幅增加,其中不乏多余的,用不到的jar包,占用了大量的宝贵空间。通过loosejar这个工具,便可轻松找到“滥竽充数”的jar包了~
loosejar的工作原理是利用classloader。因为应用在运行的时候,用到哪个类,classloader就会把这个类的.class文件加载到jvm中,然后生成一个class对象,然后再利用反射就可以执行这个类的方法了,因此有哪些.class文件被加载了,classloader是一清二楚,利用这个特性,便可知道jar包中类的实际使用情况,以及应用中jar包的实际使用情况了。
第一步:将loosejar.jar放到应用的WEB-INF下的lib中,比如说路径是
D:/workspaces/appnotify/WebRoot/WEB-INF/lib/loosejar.jar
第二步:在IDE中的installedJRES里面的JDK处配置-Dfile.encoding=uft8
-javaagent:D:/workspaces/appnotify/WebRoot/WEB-INF/lib/loosejar.jar
第三步:启动应用,尽可能做到路径全覆盖来测试你的应用,尽可能让每段代码都执
行。
第四步:在JDK安装路径下,bin文件夹中的jconsole,选择bootstrap的那个端口,然
后选择MBean下的com.googlecode.loosejar 点击summary,即可查看到分析结果了~
来自:http://blog.csdn.net/exceptional_derek/article/details/38472465
</span>