3

有没有办法使用 javassist 在系统搜索路径中查找现有 java 类的列表?我知道你可以使用“.getDefault()”来返回系统的默认搜索路径,有没有办法在不知道类名的情况下列出这个搜索路径上的类。

4

1 回答 1

0

如果您将代理/变压器附加到您的项目,您可以轻松记录或以某种方式保存加载到您的项目中的所有类

public class Agent {

    public static void premain(String agentArgs, Instrumentation inst) {
        inst.addTransformer(new ClassFileTransformer() {
            @Override
            public byte[] transform(ClassLoader classLoader, String s, 
                                     Class<?> aClass, ProtectionDomain protectionDomain, 
                                     byte[] bytes) throws IllegalClassFormatException {
                 // here you will see all the classes that are loaded into your project
                 // So just log its full name
                 System.out.println(s);
            }    
    }
}
于 2017-08-29T09:56:15.117 回答