quarkusio/quarkus · error · DeploymentException
Unable to determine the name of the @ parameter of
Error message
Unable to determine the name of the @ parameter of
What it means
Build-time error in EndpointIndexer while resolving a parameter name from bytecode: the parameter (e.g. annotated @RestPath/@QueryParam with no explicit value) has no name available because the class was compiled without -parameters, and no default could be derived. The annotation and method context follow the message prefix.
Source
Thrown at independent-projects/resteasy-reactive/common/processor/src/main/java/org/jboss/resteasy/reactive/common/processor/EndpointIndexer.java:1643
private String valueOrDefault(AnnotationValue annotation, String defaultValue) {
if (annotation == null)
return defaultValue;
String val = annotation.asString();
return val != null && !val.isEmpty() ? val : defaultValue;
}
/**
* Resolves the name of a parameter whose annotation falls back to the name of the parameter itself.
* <p>
* The parameter name is only present in the bytecode when the class was compiled with {@code -parameters},
* so it can be {@code null}. Failing here names the cause, instead of letting the missing name travel until
* something dereferences it. See <a href="https://github.com/quarkusio/quarkus/issues/56004">issue #56004</a>.
*/
private String parameterNameOrFail(AnnotationValue annotation, String sourceName, String annotationName,
String errorLocation) {
String name = valueOrDefault(annotation, sourceName);
if (name == null) {
throw new DeploymentException("Unable to determine the name of the @" + annotationName + " parameter of "
+ errorLocation
+ " because parameter names are not available in the compiled class."
+ " Either give the name explicitly, as in @" + annotationName + "(\"some-name\"),"
+ " or compile the class with the -parameters option of javac"
+ " (maven.compiler.parameters=true for Maven, options.compilerArgs.add(\"-parameters\") for Gradle).");
}
return name;
}
public Set<String> nameBindingNames(ClassInfo selectedAppClass) {
return NameBindingUtil.nameBindingNames(index, selectedAppClass);
}
public Set<String> nameBindingNames(MethodInfo methodInfo, Set<String> forClass) {
return NameBindingUtil.nameBindingNames(index, methodInfo, forClass);
}
protected AnnotationStore getAnnotationStore() {View on GitHub (pinned to e1c734241f)
Solutions
- Recompile with javac -parameters (Maven compiler config or Gradle compileJava options.parameters = true)
- Or specify the name explicitly in the annotation value, e.g. @RestPath("id")
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/EndpointIndexer.java:1643 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/c921709072b154b9.
Report an issue: GitHub.