У нас есть код Java, которому необходимо найти классы по указанному имени пакета, а затем прочитать их аннотации. Мы попробовали это, используя org.reflections, ClassLoader Guava и подход Thread.currentThread().getContextClassLoader() JDK, и все три из них работают при запуске на JVM.
Однако, когда мы компилируем то же приложение, что и нативное приложение Quarkus, с использованием GraalVM или Mandrel, все три подхода не работают, не найден ни один из классов, существующих в указанном имени пакета.
Мы добавили Аннотации @RegisterForReflection для всех классов, которые мы ожидаем найти в этом пакете.
Как заставить это работать в собственном приложении GraalVM или Mandrel? Примечание. В настоящее время я создаю собственный вариант для Windows.
Мы попробовали это, используя org.reflections, ClassLoader Guava и подход JDK Thread.currentThread().getContextClassLoader(), и мы ожидаем, что любой из них должны позволить нам находить классы, имеющие определенное имя пакета. Все это работает при запуске на JVM, но ничего не работает, если приложение скомпилировано с помощью GraalVM или Mandrel.
Подробнее здесь: https://stackoverflow.com/questions/788 ... tive-image