Ошибка неверного имени при загрузке класса из случайного каталога - PullRequest
0 голосов
/ 30 апреля 2020

Я хочу сделать экземпляр файла .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 в случайные каталоги?

1 Ответ

0 голосов
/ 01 мая 2020
Классы

Java должны находиться в иерархии каталогов , соответствующей их package. Вы не можете поместить Java .class в «случайный» каталог, это просто не то, как работает загрузка классов.

...