gpt4 book ai didi

java - 扫描 Java 中的类或 jar 文件

转载 作者:行者123 更新时间:2023-12-01 16:04:33 24 4
gpt4 key购买 nike

我需要扫描实现或扩展特定类的类或 jar 文件。
这与 Eclipse 用于扫描插件存在的机制相同。有办法做到这一点吗?

最佳答案

来自exmaple depot: How to load a Class that is not on the classpath :

// Create a File object on the root of the directory 
// containing the class file
File file = new File("c:\\class\\");

try {
// Convert File to a URL
URL url = file.toURL(); // file:/c:/class/
URL[] urls = new URL[]{url};

// Create a new class loader with the directory
ClassLoader loader = new URLClassLoader(urls);

// Load in the class; Class.childclass should be located in
// the directory file:/c:/class/user/information
Class cls = loader.loadClass("user.informatin.Class");
} catch (MalformedURLException e) {
} catch (ClassNotFoundException e) {
}

如有必要,使用File.list()列出目录中的文件。

当类被加载时,您可以通过执行clazz.isInstance来检查它是否实现了特定的接口(interface)。来自文档:

Determines if the specified Object is assignment-compatible with the object represented by this Class. This method is the dynamic equivalent of the Java language instanceof operator.

<小时/>

从 jar 文件加载类:

How to load a jar file at runtime

列出 jar 文件中的文件:JarFile.entries()

关于java - 扫描 Java 中的类或 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com