从随机目录加载类时出现名称错误

问题描述 投票:0回答:1

我想创建一个位于随机目录中的.class文件实例。我尝试过此

private final String CLASS_FOLDER =
            "C:\\Users\\test\\Desktop\\fix\\core\\src\\test\\org\\poc\\";

    private  Class getClassFromFile(String fullClassName) throws Exception {
        URLClassLoader loader = new URLClassLoader(new URL[] {
                new URL("file://" + CLASS_FOLDER)
        });
        return loader.loadClass("Order");
    }

运行代码时出现错误:

java.lang.NoClassDefFoundError: Order (wrong name: com/solutions/backend/toms/actions/Order)

类似安全检查,以获取正确的程序包名称。是否有跳过我的检查的方法,因为我需要将.class文件加载到随机目录中?

java classloader dynamic-class-loaders
1个回答
0
投票

Java类必须位于directory hierarchy that matches their package中。您不能将Java package放在“随机”目录中,这根本不是类加载的工作方式。

© www.soinside.com 2019 - 2024. All rights reserved.