quarkusio/quarkus · error · RuntimeException
The class ${superType.name()} is not inside the Jandex index
Error message
The class ${superType.name()} is not inside the Jandex index What it means
Guard in JandexUtil.isSubclassOf: while walking the superclass chain of an indexed class, a superclass is not itself present in the Jandex index, so ancestry cannot be determined. The missing superType name is interpolated; the Javadoc explicitly notes this throws when a superclass is not indexed.
Source
Thrown at independent-projects/resteasy-reactive/common/processor/src/main/java/org/jboss/resteasy/reactive/common/processor/JandexUtil.java:373
* @param info the ClassInfo we want to check.
* @param parentName the name of the superclass we want to find.
* @return true if the given ClassInfo has <tt>parentName</tt> as a superclass.
* @throws RuntimeException if one of the superclasses is not indexed.
*/
public static boolean isSubclassOf(IndexView index, ClassInfo info, DotName parentName) {
if (info.superName().equals(DOTNAME_OBJECT) || info.superName().equals(DOTNAME_RECORD)) {
return false;
}
if (info.superName().equals(parentName)) {
return true;
}
// climb up the hierarchy of classes
Type superType = info.superClassType();
ClassInfo superClass = index.getClassByName(superType.name());
if (superClass == null) {
// this can happens if the parent is not inside the Jandex index
throw new RuntimeException("The class " + superType.name() + " is not inside the Jandex index");
}
return isSubclassOf(index, superClass, parentName);
}
/**
* Returns true if the given Jandex ClassInfo is a subclass of or inherits the given <tt>name</tt>.
*
* @param index the index to use to look up super classes.
* @param info the ClassInfo we want to check.
* @param name the name of the superclass or interface we want to find.
* @throws RuntimeException if one of the superclasses is not indexed.
*/
public static boolean isImplementorOf(IndexView index, ClassInfo info, DotName name) {
return isImplementorOf(index, info, name, Collections.emptySet());
}
/**
* Returns true if the given Jandex ClassInfo is a subclass of or inherits the given <tt>name</tt>.View on GitHub (pinned to e1c734241f)
Solutions
- Add the jar containing the superclass as an indexed dependency
- Restructure so the checked hierarchy is fully within indexed classes
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at independent-projects/resteasy-reactive/common/processor/src/main/java/org/jboss/resteasy/reactive/common/processor/JandexUtil.java:373 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/68ba524879620cc7.
Report an issue: GitHub.