`
lihong11
  • 浏览: 449995 次
  • 性别: 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
分享到:
评论

相关推荐

    exe工具,根据类名,查找本地中包含该类名的jar包

    exe工具,根据类名,查找本地中包含该类名的jar包。原来项目中的jar包太多了,手动找起来太麻烦,网上找了很多工具也都没有用,所以自己动手写了一个。 只要输入import引入的包名,和本地中jar包的地址就可以查找到...

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

    一个java工程,修改两个变量值,运行就可以知道,你java文件中使用的引入类是来自哪个jar包。

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

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

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

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

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

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

    FindJar-在jar包中查找包和类

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

    java类查找小工具

    该工具可以从jar包或者目录中查找指定的类的位置。可以根据调试代码时的异常类的名称快速查找到所在的jar包。

    类/包检索工具,查找类包和路径

    一个查找类的小工具 主要有两个用途: 1.检索类所在的文件(一般为.jar)。然后就可以把它加到classpath中。 2.检索类的包路径。在仅知道类名的情况下,检索出类的包路径,然后就可以正确书写import指令。

    Docker的安装+JDK镜像的拉取+jar包的运行

    SpringBoot+SSM生成的jar包发布到docker,如果不是SpringBoot,则需要配置tomcat

    jar包查找器,反编译程序

    打开JarFinder,选择jar包所在路径,输入自己想要查看的封装类名,点击查询找到所在的具体位置。运行jd-gui.exe 并将要反编译的类拖进操作界面即可。

    查询类工具

    根据类名查询所在jar包,方便项目集成时查找冲突jar包。

    在Jar文件里找Class文件

    在Jar文件里查找对应的类名。双击弹出界面后,点击“查询路径”,把Jar所在目录选上后,在“查询类名”中填写检索词

    JavaClass搜索工具

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

    findJarWindow

    这是一个查找class文件所在的jar包的小工具。 支持文件的模糊查询。

    用ANT来编译打包Eclipse插件

    当应用hudson一类的自动化平台来构建Eclipse插件时,不能直接调用ANT工具来编译。本工具自动修改Eclipse的路径为 ${ECLIPSE_HOME},并且自动可查找相应插件。 使用方法: java -jar buildfileGenerator.jar build....

    jarclasssearch

    很轻松的查找对应的class所在的哪个jar包内,只需要输入class和jar包所在的lib目录里

    JarClassSearch

    选定目录可以在该目录下面查找class所在的jar包。

    未使用-dep:检测Android gradle项目中未使用的依赖项

    将unused-dep.jar文件复制到gradle包装器( gradlew文件)所在的根目录中,然后运行以下命令: java -jar unused-dep.jar -gradletask :app:assembleDebug 用您的Android项目中使用的任何gradle任务替换:app:...

    云服务器ECS.docx

    Xshel上传文件:安装rz指令:yum install lrzsz 执行:rz 默认上传至:当前所在目录 解压缩文件:tar -xvf 安装包文件路径 -C 安装路径 Linux下打包压缩war、解压war包和jar命令:jar -xvf project.war /project_a ...

    【05-面向对象(下)】

    名字的局部变量,就使用该变量,如果不存在,则到该方法所在的内部类中查找是否存在该名字的属性,如果存在 则使用该属性。 •总之,第一步先找局部变量,第二步,内部类的属性,第三步。外部类的属性。 ...

Global site tag (gtag.js) - Google Analytics