quarkusio/quarkus · error · IllegalStateException
Failed to resolve required property ${name}
Error message
Failed to resolve required property ${name} What it means
Thrown by ToolsUtils.requireProperty when a required property is missing (null) from the provided Properties object. It is a fast-fail guard used when reading tool configuration properties (e.g. plugin artifact ids, versions) that must always be present.
Source
Thrown at independent-projects/tools/devtools-common/src/main/java/io/quarkus/platform/tools/ToolsUtils.java:291
return e.getKey();
}
String key = e.getKey();
if ("dockerfile.native-micro".equals(key)) {
key += ".from";
}
return "tooling-dockerfiles." + key;
},
Entry::getValue, (v1, v2) -> v1));
}
return projectData;
}
public static String requireProperty(Properties props, String name) {
final String value = props.getProperty(name);
if (value == null) {
throw new IllegalStateException("Failed to resolve required property " + name);
}
return value;
}
public static String getMavenPluginArtifactId(Properties props) {
return props.getProperty(ToolsConstants.PROP_QUARKUS_MAVEN_PLUGIN_ARTIFACT_ID);
}
public static String getMavenPluginGroupId(Properties props) {
return props.getProperty(ToolsConstants.PROP_QUARKUS_MAVEN_PLUGIN_GROUP_ID);
}
public static String getQuarkusCoreVersion(Properties props) {
return props.getProperty(ToolsConstants.PROP_QUARKUS_CORE_VERSION);
}
public static String requireQuarkusCoreVersion(Properties props) {
return requireProperty(props, ToolsConstants.PROP_QUARKUS_CORE_VERSION);View on GitHub (pinned to e1c734241f)
Solutions
- Identify the missing property from the message and add it to the properties source
- Restore the original unmodified properties file shipped with the tooling
- Ensure Maven resource filtering/placeholder substitution ran so ${...} placeholders got real values
- Check that you are using matching versions of the tools and properties resources
Example fix
// before: quarkus.properties missing the key # quarkus-maven-plugin-artifact-id absent // after quarkus-maven-plugin-artifact-id=quarkus-maven-plugin quarkus-maven-plugin-group-id=io.quarkus
Defensive patterns
Strategy: validation
Validate before calling
// Instead of requireProperty failing at runtime, check presence first
if (!props.containsKey(name)) {
throw new IllegalStateException("Property " + name + " missing; check your properties file");
} Try / catch
try {
String v = ToolsUtils.requireProperty(props, name);
} catch (IllegalStateException e) {
// fall back to a default or report the missing key: e.getMessage() minus prefix is the key
throw e;
} Prevention
- Never hand-edit the tool properties file; restore from the original artifact
- Enable Maven resource filtering so ${...} placeholders are substituted
- Add a startup check that all required property keys exist
When it happens
Trigger: Calling requireProperty(props, name) where props does not contain key 'name' — typically a properties file (quarkus.properties bundled constants) that was truncated, customized, or from a mismatched build.
Common situations: Hand-edited or filtered-out properties file; using tool constants JAR from a different Quarkus version; resource filtering disabled so placeholders were not substituted.
Understand the failure class
Background: "missing required argument" and "the following required arguments were not provided": what required-argument errors mean and how to fix them — this error's family across 20 libraries.
Related errors
- Unrecognized dependency flag '<trimmed>'. Supported flags: O
- Parameter 'mode' was set to '<mode>' while expected one of '
- Parameter 'mode' was set to '<mode>' while expected one of '
- Parameter 'mode' was set to '<mode>' while expected one of '
- Manifest entry name ${key} is invalid. " characters are not
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/87cbb399fb61ceef.
Report an issue: GitHub.