如何分析class的依赖关系 我的程序里用了很多库(*.jar),但是往往只用到库中的部分内容。请问有没有什么工具能分析一下各个class之间的依赖关系,把程序里没有用到的库中的class给删掉? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 jarjar是个不错的工具 学习了`以前也做过类似的,不过我是手动删除没用到的jar包。 我想说的是JAR包少了程序不能多运行多了的话还是可以跑跑的! 这个不太好区分。如果手动区分会碰到这样的问题,如果你引用的class文件,它又引用了库中的别的文件。这样就可能会出错。你的需要反编译一个一个去排除。 不知道是否有这样的工具。 一个jar就几百K,何必呢,完全是吃力不讨好?有些jar根本就没办法分清依赖关系,比如在一个接口包,名为a-api.jar,一个实现jar:a-impl.jar,在a-api.jar中有一个配置文件,或者通过path进行配置,动态读取类名,反射调用具体实现,此时此刻你要移除了a-impl.jar,岂不是出问题了 好象没有这样的工具。但有一个办法,把所有jar都删除,然后execute,根据产生的错误提示信息,一般是程序找不到运行所需的类。这样一步一步就看出各个类之间的关系了。不过有点麻烦,需要耐心。 你要是了解每个jar的含义就好办了,直接删除.因为自己做的东西肯定知道用到哪些第三方包了, 你如果用的是myeclipse的话 Ctrl + O 能列出所有的类,Ctrl + T 能列出所有的类结构~~ eclipse 自带的打包工具,编译成可执行文件的工具就可以 自己找用到的类 及关联的类吧 然后jar buildpath到你的项目中 使用maven的话goal shade:shade配置 minimizeJar 为true 求解释 UML中的接口 StringBuffer类中的deleteCharAt()为什么会这样?求高手!!! 为什么我生成的.jar文件无法运行? 请问JDK在哪个目录下? 学数据结构用C还是JAVA学呢 关于JAVA时间问题的解决 equals和==有什么区别?迷惑中. 用jdbc读取数据的时候,有这个警告:但是不影响读取数据 Font问题!!如解决立刻给分:) 逻辑处理 谁来帮帮忙 关于直接插入排序的问题(我觉得代码不对但是运行结果确实对的,很奇怪)
这个不太好区分。如果手动区分会碰到这样的问题,如果你引用的class文件,它又引用了库中的别的文件。这样就可能会出错。你的需要反编译一个一个去排除。 不知道是否有这样的工具。
goal shade:shade
配置 minimizeJar 为true