`
bruceyu
  • 浏览: 31127 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Jar中Class文件搜索器

阅读更多
  曾有一个名为“jarsearch”的Eclipse插件,可惜只支持3.2.x,之后就再也没有消息了。
现在要在众多的Jar包中,查找一个不熟悉的类名,通常只能凭经验或Google,亦或者胡乱的
将可能的Jar包一并导入,这样有时候也无法立竿见影的找到。

  我自制了一个在Jar中搜索Class文件的小工具(如下图),并与大家一起分享。其中可能存
在一些Bug,请不吝指出。
 
  修正了5楼朋友所提出的2个Bug,并在Rar包中附上了源码。

  PS:其中的两个匹配方式,如查找“File”,用前者只能查到“java.io.File”,而用后者
就可以查到“java.io.FileWriter”等。

  注意:这个小工具只能在“JDK1.6”以上版本运行

  • 大小: 68.4 KB
分享到:
评论
5 楼 java.lang.Object 2009-08-20  
楼主的程序是用exe4j打包的吧,JAR文件被我找到了。反编译看了一下,发现有两个地方存在BUG:

1,JAR的后缀名应该是大小写无关的。而楼主的代码里面只考虑到了小写的JAR文件名。
2,楼主打开JAR文件后,构造JarFile后,遍历完条目没有关闭JarFile对象,导致JarFile对象被独占,使用完后即时关闭流是一个好的习惯。

  public void treeDir(File searchDir)
  {
    File rootDir = searchDir;
    if (!(rootDir.isDirectory())) {
      return;
    }

    String[] fileArr = rootDir.list();
    if ((fileArr == null) || (fileArr.length == 0)) {
      return;
    }

    String regexStr = "^.*\\.jar$";

    for (String str : fileArr) {
      File chargeFile = new File(searchDir + "/" + str);
      if (chargeFile.isDirectory()) {
        treeDir(chargeFile);
      }
      if ((chargeFile.isFile()) && (Pattern.matches(regexStr, str)) && (chargeFile.length() != 0L)) {
        this.jarFileList.add(chargeFile.getAbsolutePath());
        searchClassFileNameToList(chargeFile.getAbsolutePath());
      }
    }
  }


  public void searchClassFileNameToList(String jarFileName) {
    JarFile jarFile = null;
    try {
      File testFile = new File(jarFileName);
      if ((testFile.exists()) && (testFile.canRead()) && (testFile.canExecute()))
        jarFile = new JarFile(jarFileName);
      else
        this.errorFileList.add(jarFileName);
    }
    catch (IOException e) {
      e.printStackTrace();
    }
    searchClassFileNameToList(jarFile);
  }

既然楼主不喜欢把源代码附上,那我也不太好附上代码了。我觉得如何楼主是真心想交流的话,应该直接把源码附上。
4 楼 java.lang.Object 2009-08-20  
做成EXE的话也是没有用的。要看源码也是很方便的。
3 楼 george_space 2009-08-19  
太吝啬了,居然封装成exe,不如用c++做了
2 楼 bruceyu 2009-08-19  
用Ctrl+Shift+T,打开Type,的确是一个在现存已知的Jar中进行寻找的好办法,但是有很多情况下还是需要在未知的Jar中进行探索的。我的硬盘中至少有15~20G(应该有重复的可能)的Jar文件,有时候为了找一个适合的Jar还得凭记忆加搜索工具,所以想偷个懒,就以练练Swing开始而写的这个小工具。这若有一天也能帮到您那就太好了。
1 楼 ASPGUY 2009-08-19  
需要这样么?
你用Ctrl+Shift+T,打开Type,不就能看到某个类在哪个jar包李曼了么?
不要只用navigator,还要用一下package explorer。
呵呵。

相关推荐

    jclasslib修改jar包里面的class文件包含jar

    `jclasslib`是一款强大的反编译器和字节码查看器,它允许开发者查看并修改JAR文件中的`.class`文件。这篇文章将深入探讨如何使用`jclasslib`来操作包含其他JAR的复杂项目。 首先,了解`jclasslib`的基本功能。它...

    jar 反编译.class文件 XJad

    在Java开发中,.class文件是Java源代码经过编译后的二进制格式,它包含了程序的字节码。...如果你需要对.jar文件中的.class文件进行反编译,了解XJad的工作原理和使用方法仍然具有一定的历史价值和学习意义。

    Jar Class搜索器 按包.类名查找Jar

    有很多情况下还是需要...我的硬盘中至少有15~20G(应该有重复的可能)的Jar文件,有时候为了找一个适合的Jar还得凭记忆加搜索工具,所以想偷个懒,就以练练Swing开始而写的这个小工具。这若有一天也能帮到您那就太好了。

    JarSearch,Java Class类所在的Jar包搜索器

    JarSearch by 五棵树 -------------------------------------------------------------------------- 功能说明: ...2、选择需要查找的jar文件所在目录,例如: D:\log4j\lib 3、然后点击搜索按钮即可。

    jar文件查看器

    在描述中提到的“直接查看打包的jar文件”,意味着这个工具允许用户快速访问和检查JAR内的结构,包括类(.class)文件、配置文件(如XML)、图片、文本和其他资源。这在处理未知或第三方库时尤其有用,因为可以直接...

    JAR文件读取工具

    3. **查看源码**:JD-GUI会自动解析JAR文件中的所有类,并以树形结构显示在左侧的Class List窗口中。你可以通过双击类名,其对应的源代码就会在右侧的Source窗口中显示出来。 4. **搜索与导航**:在顶部的搜索框中...

    java class文件编辑器

    Java Class文件编辑器,如JD-GUI 0.3.3 绿色版,是一种用于查看和理解Java字节码的工具,对于开发者而言尤其重要,因为它提供了将已编译的`.class`文件反编译回源代码的能力。在深入讨论这个工具之前,我们先来了解...

    jar包搜索器

    “jar包搜索器”凭借其强大的搜索功能和便捷的下载服务,在软件开发领域中扮演着越来越重要的角色。无论是对于个人开发者还是团队协作来说,都能显著提升工作效率,减少重复劳动,是现代软件工程中不可或缺的辅助...

    jar包文件查看工具

    Java Jar(Java Archive)文件是Java平台上的一个重要组成部分,它用于封装Java类库,包括.class文件、资源文件和其他元数据。Jar文件的创建旨在提高应用程序的分发效率,通过将多个文件打包成一个单一的可执行文件...

    JAR包查看器

    1. **浏览内容**:JAR包查看器允许用户直观地浏览JAR文件中的所有文件和目录结构,包括.class文件和其他资源文件,这对于理解和调试程序的结构非常有帮助。 2. **搜索功能**:通过内置的搜索功能,可以快速定位到...

    java class文件查看器

    总结来说,Java Class文件查看器是Java开发者必备的一款工具,它简化了对`.class`文件的检查过程,尤其在处理JAR文件时,能够直接查看原始的类文件名称,有助于快速定位和修改代码,从而提升开发效率和代码质量。...

    在myeclipse中查看class文件 插件 jadnt158

    查看java的class文件,在网络上搜索了一下资料,这样就很方便的去查看别人的代码 在myeclipse中查看class文件,就像查看普通的java源文件一样,通过以下步骤可以做到: 安装设置步骤:1. 下载jadnt158.zip 。 2. ...

    jar文件查看工具

    在Java开发环境中,`jar`文件是常见的二进制格式,用于打包类文件、资源文件以及元数据。`jar`文件的全称是Java Archive,它是Java平台的标准打包机制,类似于其他编程语言中的库或者DLL文件。`jar`文件能够包含多类...

    jar包解析工具

    在Java开发环境中,`jar`(Java Archive)文件是一种打包格式,用于收集多个类文件、相关的元数据和其他资源(如图像文件),以便分发和运行Java应用程序或库。`jar`包解析工具对于开发者来说至关重要,尤其是在处理...

    myeclipse添加jad查看class文件

    在IT行业中,开发人员经常需要对已编译的Java类文件(.class)进行反编译,以便查看源代码或理解程序的内部工作原理。MyEclipse作为一款强大的Java集成开发环境,支持多种功能,包括集成反编译工具。本文将详细介绍...

    java jar包查看工具

    在开发和维护Java项目时,经常需要查看JAR包内部的内容,尤其是类文件(.class),以便于理解代码结构、调试或反编译。这就是“java jar包查看工具”的主要用途。 JD-GUI(Java Decompiler Graphical User ...

    jclasslib修改class文件工具.rar

    3. **浏览与分析**:在打开的`jar`文件中找到需要修改的`.class`,双击打开。`jclasslib`会显示该文件的详细结构,包括类信息、常量池、字段、方法等。 4. **修改字节码**:在反汇编视图中找到需要修改的地方,根据...

    jar文件查看器,不需要安装,解压即可用

    在提供的压缩包文件列表中,我们看到有"JAR文件查看器.exe",这很可能是该工具的可执行文件。另外,还有一个"新建文本文档 (2).txt",通常这类文本文件可能包含工具的使用说明、授权协议或其他相关信息。 总的来说...

    ik分词器jar包.zip

    标题中的"ik分词器jar包.zip"指的是IK分词器的Java Archive (JAR) 文件的压缩包。这个压缩包包含了两个版本的IK分词器:5-5x和7x。这表明用户可以依据自己的Solr版本选择适合的分词器版本。5-5x可能对应的是Solr 5.x...

    java class文件反编译

    3. JAD:Java反汇编器,提供了一个简单的命令行界面,可以将Class文件转换为Java源代码。 4. FernFlower:另一个开源的Java反编译器,能够产生较为清晰的源代码。 5. Procyon:除了反编译,Procyon还提供了去混淆和...

Global site tag (gtag.js) - Google Analytics