Skip to content

Instantly share code, notes, and snippets.

@maciejwalkowiak
Created November 27, 2022 09:02
Show Gist options
  • Save maciejwalkowiak/6f7097157aec2f5d1a4929c0f12bbc67 to your computer and use it in GitHub Desktop.
Save maciejwalkowiak/6f7097157aec2f5d1a4929c0f12bbc67 to your computer and use it in GitHub Desktop.
import org.springframework.aot.hint.MemberCategory;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.aot.hint.TypeReference;
import java.util.List;
public class WebJarsHints implements RuntimeHintsRegistrar {
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
hints.reflection().registerType(java.lang.Module.class, MemberCategory.INVOKE_DECLARED_METHODS);
hints.reflection().registerType(java.lang.ModuleLayer.class, MemberCategory.INVOKE_DECLARED_METHODS);
hints.reflection().registerType(java.lang.module.Configuration.class, MemberCategory.INVOKE_DECLARED_METHODS);
hints.reflection().registerType(java.lang.module.ResolvedModule.class, MemberCategory.INVOKE_DECLARED_METHODS);
List.of("nonapi.io.github.classgraph.classloaderhandler.AntClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.ClassGraphClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.ClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.ClassLoaderHandlerRegistry",
"nonapi.io.github.classgraph.classloaderhandler.CxfContainerClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.EquinoxClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.EquinoxContextFinderClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.FallbackClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.FelixClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.JBossClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.JPMSClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.OSGiDefaultClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.ParentLastDelegationOrderTestClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.PlexusClassWorldsClassRealmClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.QuarkusClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.SpringBootRestartClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.TomcatWebappClassLoaderBaseHandler",
"nonapi.io.github.classgraph.classloaderhandler.UnoOneJarClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.URLClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.WeblogicClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.WebsphereLibertyClassLoaderHandler",
"nonapi.io.github.classgraph.classloaderhandler.WebsphereTraditionalClassLoaderHandler").forEach(
clazz -> hints.reflection().registerType(TypeReference.of(clazz), MemberCategory.INVOKE_DECLARED_METHODS));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment