通过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的那个port,然

后选择MBean下的com.googlecode.loosejar 点击summary,就可以查看到分析结果了~

时间: 2024-10-25 09:46:48

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

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

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

Maven中使用本地jar包

在Maven项目中使用本地jar包有如下几种方法: 1.使用system scope <dependencies> <dependency> <groupId>org.richard</groupId> <artifactId>my-jar</artifactId> <version>1.0</version> <scope>system</scope> <systemPath&g

(转)如何在maven的pom.xml中添加本地jar包

1 maven本地仓库认识 maven本地仓库中的jar目录一般分为三层:图中的1 2 3分别如下所示: 1 groupId 2 artifactId 3 version 4 jar包的依赖 如果要将maven本地仓库中的jar包添加到项目中,直接打开4 xx.pom文件,将改jar包的相关依赖复制pom.xml文件中即可. 2 将本地jar包添加到本地仓库 2.1 添加jar到本地仓库 原则上Maven的设计是不需要这么做的,因为pom.xml中依赖的jar包会自动实现从中央仓库下载到本地仓库

eclipse中maven项目jar包不会自动下载解决办法

Eclipse中maven从远程仓库中下载jar包有时会很慢,有些甚至进度停止不动,这个时候我们可能会终止当前下载,但是终止jar包下载后会出现一个问题,再次打开Eclipse时,你会发现提示你项目中依赖的jar包找不到,如下图所示,项目右键打--->Build Path--->Configure Build Path 打开项目的 Java Build Path 在 Libraries 页签下 Maven Dependenicies 你会发现报错提示 依赖的jar包 missing如下图所示

【转】Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundError解决办法)

原文网址:http://www.blogjava.net/anchor110/articles/355699.html 1.在工程下新建lib文件夹,将需要的第三方包拷贝进来.2.将引用的第三方包,添加进工作的build path.3.(关键的一步)将lib设为源文件夹.如果不设置,则程序编译可以通过,但运行的时候,会报: java.lang.NoClassDefFoundError # re: Android中引入第三方Jar包的方法(java.lang.NoClassDefFoundErro

Eclipse中导入外部jar包步骤

昨天,学习了Jar包的打包过程,现在打算记录一下,如何在Eclipse中导入外部Jar包. 第一步:在项目中鼠标右键>>New>>点击Folder. 第二步:在弹出窗口将Folder name命名为lib,点击确定. 第三步:将Jar包拖拽或者复制到lib中. 第四步:弹出File Operation对话框,点击OK. 第五步:对导入的文件进行"解压",鼠标右键>>Build Path>>Add to Build Path 最后jar包就

Eclipse中导入外部jar包

Eclipse中导入外部jar包 方法/步骤 1 首先在项目下创建一个文件夹,保存我们的jar包. 在项目名上右击,依次点击[New]-->[Floder],打开新建文件夹窗口 步骤阅读 2 输入文件夹名称[lib],点击[ok].我们通常在lib文件夹中存放从外部引入的jar包 步骤阅读 3 找到我们要引入的jar包,鼠标选中jar包,然后按住鼠标左键不放,把jar包拖到lib文件夹中.或先复制jar包,然后在lib文件夹上右击,选择复制.此时,打开选择框,我们选择默认的[copy files

Eclipse 将projectBuild Path中引用的jar包自己主动复制到WEB-INF下的lib目录下

在用用 Eclipse进行Java Web开发时,web应用中引用的jar须要复制到WEB-INF下的lib目录下,否则常常出现ClassNotFound异常. 通过以下方法,能够不用手动拷贝jar包,Eclipse自己主动将projectBuild Path中引用的jar包自己主动复制到WEB-INF下的lib目录下,步骤例如以下: 1.右击project.选择Properties(属性) 选择Deployment Assembly.例如以下图: 2.点击右側Addbutton,例如以下图:

Java中常见的jar包的用途

jar包用途  axis.jar   SOAP引擎包  commons-discovery-0.2.jar   用来发现.查找和实现可插入式接口,提供一些一般类实例化.单件的生命周期管理的常用方法.  jaxrpc.jar     Axis运行所需要的组件包  saaj.jar 创建到端点的点到点连接的方法.创建并处理SOAP消息和附件的方法,以及接收和处理SOAP错误的方法.    wsdl4j-1.5.1.jar Axis运行所需要的组件包  activation.jar JAF框架的jar