通过loosejar清理应用中冗余jar包

随着应用规模的逐渐增大,依赖的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,即可查看到分析结果了~

通过loosejar清理应用中冗余jar包,布布扣,bubuko.com

时间: 2024-08-06 20:05:47

通过loosejar清理应用中冗余jar包的相关文章

通过loosejar清理应用中冗余的jar包

随着应用规模的逐渐增大,依赖的jar包数量也大幅添加.当中不乏多余的,用不到的jar包,占用了大量的宝贵空间.通过loosejar这个工具.便可轻松找到"滥竽充数"的jar包了~ loosejar的工作原理是利用classloader.由于应用在执行的时候,用到哪个类,classloader就会把这个类的.class文件载入到jvm中,然后生成一个class对象.然后再利用反射就能够执行这个类的方法了,因此有哪些.class文件被载入了,classloader是一清二楚,利用这个特性,

清理pom中的jar包

有时候pom中引用了一堆的jar包,可以用下面这些命令分析相关jar包是否有用以及依赖关系: 查看项目依赖:mvn dependency:analyze 查看项目直接和传递依赖:mvn dependency:tree 查看maven构建时有效的pom(看哪些jar是不需要的,再排除):mvn help:effective-pom

maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理

maven依赖本地非repository中的jar包 http://www.cnblogs.com/piaolingxue/archive/2011/10/12/2208871.html 博客分类: MAVEN 今天在使用maven编译打包一个web应用的时候,碰到一个问题: 项目在开发是引入了依赖jar包,放在了WEB-INF/lib目录下,并通过buildpath中将web libariary导入. 在eclipse中开发没有问题,但是使用maven编译插件开始便宜总是报找不到WEB-INF

Android开发中出现jar包重复

安卓开发中出现jar包重复,控制台会出现如下报错: 解决方案是: 可以查看自己项目工程下有没有重复,例如: 如果有重复,删除就可以了!

如何制作Jar包并在android中调用jar包

android制作jar包: 新建android工程,然后右击,点击导出,选择导出类型为Java下的JAR file,在java file specification 中不要选择androidmanifest.xml和res文件夹,就可以了.否则在调用jar包的时候会出现“Error generating final archive: Found duplicate file for APK: AndroidManifes”这个错误. 如果在android用调用jar包,需要在工程的属性的Jav

eclipse中导入jar包

我们在用Eclipse开发程序的时候,经常想要用到第三方的jar包.这时候我们就需要在相应的工程下面导入这个jar包.以下配图说明导入jar包的步骤. 1.右击工程的根目录,点击Properties进入Properties.或者选中工程根目录,按Alt-Enter即可. 2.在Properties页面中选中Java Build Path,选中Libraries标签,点击Add External JARs. 3.找到需要添加的jar包,确定即可. eclipse中导入jar包,布布扣,bubuko

Spring中的jar包详解

下面给大家说说spring众多jar包的特点吧,无论对于初学spring的新手,还是spring高手,这篇文章都会给大家带来知识上的收获,如果你已经十分熟悉本文内容就当做一次温故知新吧.spring.jar 是包含有完整发布的单个jar包,spring.jar中除了spring-mock.jar里所包含的内容外其他所有jar包的内容,因为只有在研发环境下才会用到spring-mock.jar来进行辅助测试,正式应用系统中是用不得这些类的. 除了spring.jar文件,Spring还包括有其他1

myeclipse中关联jar包本地源代码 --支持自带jar包源代码的关联

myeclipse中关联jar包源代码 --支持自带jar包源代码的关联 一.手动添加的jar包引用: 1) 点击打开jar包中的class,如果没有显示源代码在弹出的页面选择 Attach Source... ->External File ...(或者External Folder...两个按钮选择一个即可,前者是选择一个zip/jar包搜索里边的源代码,后者是选择一个文件夹,搜索里边已经解压出来的源代码),然后点击Ok即可. 2) 在项目工程上点击鼠标右键,选择Properties...,

如何在maven中添加jar包

Maven 中央仓库地址: 1. http://www.sonatype.org/nexus/ 2. http://mvnrepository.com/ (本人推荐仓库) 3. http://repo1.maven.org/maven2 在maven中添加jar包: Maven是基于项目对象模型,提供程序构建能力.更是提供高级的项目管理工具.在开发中,我们能节约不少的磁盘开销能力,同步更新上传svn(只是一种)上的项目,也不用每次更新jar包,把jar包放在磁盘的某一处,项目中多次使用. 工具/