`
lihong11
  • 浏览: 456098 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

根据类查找其所在的jar包

阅读更多

package text;

import java.io.File;

import java.util.ArrayList;

import java.util.Enumeration;

import java.util.List;

import java.util.zip.ZipEntry;

import java.util.zip.ZipFile;

 

public class testFindJar {

 

public String className;

 

    public ArrayList jarFiles = new ArrayList();

 

    public testFindJar() {

    }

 

    public testFindJar(String className) {

        this.className = className;

    }

 

    public void setClassName(String className) {

        this.className = className;

    }

 

    public List findClass(String dir, boolean recurse) {

        searchDir(dir, recurse);

        return this.jarFiles;

    }

 

    protected void searchDir(String dir, boolean recurse) {

        try {

            File d = new File(dir);

            if (!d.isDirectory()) {

                return;

            }

            File[] files = d.listFiles();

            for (int i = 0; i < files.length; i++) {

                if (recurse && files[i].isDirectory()) {

                    searchDir(files[i].getAbsolutePath(), true);

                } else {

                    String filename = files[i].getAbsolutePath();

                    if (filename.endsWith(".jar")||filename.endsWith(".zip")) {

                        ZipFile zip = new ZipFile(filename);

                        Enumeration entries = zip.entries();

                        while (entries.hasMoreElements()) {

                            ZipEntry entry = (ZipEntry) entries.nextElement();

                            String thisClassName = getClassName(entry);

                            if (thisClassName.equals(this.className) || thisClassName.equals(this.className + ".class")) {

                                this.jarFiles.add(filename);

                            }

                        }

                    }

                }

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

 

    public List getFilenames() {

        return this.jarFiles;

    }

 

    protected String getClassName(ZipEntry entry) {

        StringBuffer className = new StringBuffer(entry.getName().replace('/','.'));

        return className.toString();

    }

 

    public static void main(String args[]) {

    //根据类查找其所在的jar包

    testFindJar findInJar = new testFindJar("com.ailk.filter.CommonFilter");

        List jarFiles = findInJar.findClass("E:/workspace/newlianc/wadelib_sale/web/WEB-INF/lib", true);

        if (jarFiles.size() == 0) {

            System.out.println("Not Found");

        } else {

            for (int i = 0; i < jarFiles.size(); i++) {

                System.out.println(jarFiles.get(i));

            }

        }

    }

 

}

 

0
0
分享到:
评论

相关推荐

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

    从选定的目录里面,查找出所有包含所指定的Java Class类的Jar包。 -------------------------------------------------------------------------- 使用方法: 1、请首先输入需要查找的Java Class类,需要输入完整的...

    通过import导入包查找所在jar包工具

    "通过import导入包查找所在jar包工具"是一种实用的解决方案,它能帮助开发者快速定位到所使用的类所在的JAR文件。这个工具通常是一个自定义开发的小程序,它会解析Java源代码,分析import语句,并追踪到对应的JAR...

    JAR包查找工具

    源代码通常包含类的查找逻辑,可能包括如何遍历JAR文件,解析MANIFEST.MF文件,以及如何根据类名匹配JAR包等内容。 "FindJar_lib"目录则是工具运行所依赖的外部JAR包集合。这些库可能包含了SWT库本身,以及其他可能...

    根据class类名在所有Jar包文件中查找class类路径以及jar名字

    用户可以不用打开Jar包,直接输入路径和要查找的文件即可搜索。 2.列出指定路径下的所有Jar包文件 3.除了对Jar包进行搜索分析外,还可以对zip包进行分析 4.填写搜索路径是最好不要只填写“E:/”根盘目录 5.建议将...

    jar包重复查找工具2

    分析完成后,工具会列出可能存在重复的类及其所在的jar包,开发者可以据此进行优化,例如删除重复的jar,或者调整构建过程以避免引入重复的依赖。 解决jar包冲突的重要性不言而喻,它能够提高应用的运行效率,减少...

    FindJar-在jar包中查找包和类

    Java源代码,用于在jar包中查找包和类。

    jar包搜索器

    针对这一痛点,“jar包搜索器”应运而生,它是一款专门用于帮助开发者快速查找类所在的JAR包的工具。 #### 主要功能 1. **类名查询**:用户只需输入类名,系统就能自动搜索并显示该类所在的JAR包列表。 2. **JAR包...

    eclips插件,用于查找某个class所在的jar包

    Eclipse作为一个流行的Java集成开发环境(IDE),提供了丰富的插件来增强其功能,其中"eclips插件,用于查找某个class所在的jar包"就是这样一个实用工具。这个插件名为"com.danikenan.eclipse.classlocator_1.0.8",...

    eclipse打开项目所在位置jar包

    在Eclipse中,我们经常需要查看或操作jar包,以便于理解项目的依赖关系,调试代码,或者查找特定类或方法。 打开Eclipse项目中的jar包主要有以下步骤: 1. **项目导航**:首先,在Eclipse的左侧"Package Explorer...

    jar包查看.rar

    2. 使用图形界面工具:"jar包查看"工具提供了一个图形化的界面,用户可以直观地浏览JAR文件的目录结构,搜索特定类或资源,查看类的详细信息,如方法签名、注解等。 3. 第三方工具:例如,JArchitect、JadClipse、...

    eclipse查看jar包class文件源码插件,jar包反编译查看工具

    这是因为有时我们可能需要理解别人的代码实现,或者查找某个类或方法的实现细节。Eclipse作为一款强大的Java集成开发环境,提供了多种方式来帮助开发者查看.jar文件中的.class文件源码。本文将详细介绍如何在Eclipse...

    详解如何将本地JAR包添加到本地Maven仓库中

    2. 下载完毕后,你需要进入到JAR包所在的目录。例如,如果JAR包位于/root/sqljdbc4.jar,就需要在这个目录下执行添加到Maven仓库的命令。 3. 执行Maven命令来安装JAR包到本地仓库。在安装时,需要使用mvn install:...

    工程中jar包管理工具---ivy

    在描述中提到的"避免两个工程对相同jar包的重复使用",这正是Ivy的优势所在。通过统一的依赖管理,项目可以共享同一个JAR包的实例,减少磁盘空间占用,同时避免版本不一致带来的问题。Ivy还提供了缓存机制,当依赖...

    jar包查找器,反编译程序

    本文将详细讲解如何利用"jar包查找器"和"反编译程序"来实现这一目标,重点介绍JarFinder和jd-gui这两个工具。 首先,我们来了解"jar包查找器"——JarFinder。这个工具主要用于在大量的jar包中快速定位到指定的类。...

    jar类名查找工具

    5. **查看结果**:"效果图.png"可能是这个工具的界面截图,展示了查找结果的样式,包括类所在JAR的路径等信息。 总的来说,"jar类名查找工具"是Java开发者必备的辅助工具之一,它能够帮助我们在复杂的项目环境中...

    eclipse快捷打开文件夹jar包

    例如,src目录用于存放源代码,bin目录则包含编译后的类文件,而lib目录常用来存储项目的依赖JAR包。 在开发过程中,"plugin"这个文件可能指的是Eclipse插件。Eclipse是一个高度可扩展的平台,它的核心功能可以通过...

    邮箱校验jar包

    这个"邮箱校验jar包"就是为了实现这个目的而设计的。这个Java开发的库允许开发者通过连接到邮箱服务器来检查一个邮箱地址是否真实存在且合法。 首先,`dnsjava-2.1.1.jar`是一个专门用于DNS(域名系统)操作的Java...

    查看import的类是出自哪个jar包的方法

    查看import的类是出自哪个jar包的方法 Java 中的导入(import)语句是我们日常编程中最常用的语句之一,但是有时候我们需要知道某个类是来自哪个 jar 包的,这篇文章将为大家带来一个查看 import 的类是出自哪个 ...

    jd_gui可查看jar包内函数的工具

    在描述中提到,“可以直接查看jar包内函数的工具”,这表明jd_gui的核心功能就是提供直观的界面来展示.jar文件的内部结构。它允许用户无需编写任何代码就能浏览和分析函数,这对于那些没有原始源码但又需要理解jar包...

    jquery-cookie-1.4_里面有完整的jar包等脚本提供使用

    这个函数会根据指定的选项(如路径和域)查找并删除匹配的Cookie。 接下来,我们深入探讨jQuery Cookie的使用方法: 1. **设置Cookie**: ```javascript $.cookie('myCookie', 'value'); ``` 这行代码将创建一...

Global site tag (gtag.js) - Google Analytics