Генерация классов во время выполнения – это сложная тема, требующая больших знаний, которые можно сократить, если использовать определенные библиотеки, выполняющие наиболее сложные функции для выполнения этой задачи. Итак, для этой цели мы можем использовать компонент Фабрика классов и компоненты, генерирующие источники, библиотеки Burning wave Core , добавив в наш pom.xml следующая зависимость:
Этот метод выполняет следующие операции: пытается загрузить все классы, присутствующие в генераторе исходного кода юнитов, через загрузчик классов, если хотя бы один из них не найден, он переходит к компиляции всех генераторов юнитов и загрузке их классов в загрузчик классов: в этом случае имейте в виду, что если класс с таким же именем был ранее загружен загрузчиком классов, скомпилированный класс не будет загружен . Если вам нужна дополнительная информация, вы можете :
- смотрите полный пример о генераторах исходного кода
- прочитайте это руководство , где вы также можете найти ссылку на пример создания классов с использованием библиотек, расположенных вне путей к классам среды выполнения
- перейдите сюда для получения дополнительных примеров
- обратитесь за помощью на официальный форум (тема “Как это сделать?” )
- обратитесь за помощью к переполнению стека
После того, как классы скомпилированы и загружены, их методы можно вызывать несколькими способами, как показано в конце примера ниже.
Оригинал: “https://dev.to/bw_software/generating-classes-at-runtime-and-invoking-their-methods-with-and-without-the-use-of-reflection-in-java-41e3”