首页 > 代码库 > java查找重复类/jar包/普通文件
java查找重复类/jar包/普通文件
开发web应用时,有时更新了类却没有生效,其实是因为jboss/tomcat中其他发布包下有同名类(包括全路径都相同)。
于是萌发了做个程序来检查指定目录是否存在重复类(通过asm从类文件中取类的全路径),扩展开来,还支持查找重复的文件(按文件md5进行比较),重复的jar文件。
主要代码如下:
<script src="https://code.csdn.net/snippets/403628.js" type="text/javascript"></script>
简单测试代码:
package cn.jerryhouse.util.dup_files.test; import java.io.File; import org.junit.Test; import cn.jerryhouse.util.dup_files.ClassDupFinder; import cn.jerryhouse.util.dup_files.FileDupFinder; import cn.jerryhouse.util.dup_files.JarFileDupFinder; public class DupTest { @Test public void testJarFiles() { try { File[] files = new File[1]; files[0] = new File("E:\\workspace\\yinxing"); JarFileDupFinder dupFinder = new JarFileDupFinder(); dupFinder.iterDirs(files); dupFinder.analyseResult(); } catch (Exception e) { e.printStackTrace(); } } @Test public void testFileDup() { try { File[] files = new File[1]; files[0] = new File("E:\\workspace\\yinxing"); FileDupFinder classDupFinder = new FileDupFinder(); classDupFinder.iterDirs(files); classDupFinder.analyseResult(); } catch (Exception e) { e.printStackTrace(); } } @Test public void testClassDup() { try { File[] files = new File[1]; files[0] = new File("E:\\workspace\\yinxing"); ClassDupFinder classDupFinder = new ClassDupFinder(); classDupFinder.iterDirs(files); classDupFinder.analyseResult(); } catch (Exception e) { e.printStackTrace(); } } }
注:依赖jar包asm.jar。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。