quarkusio/quarkus · error · MojoExecutionException
Unable to render all config
Error message
Unable to render all config
What it means
The mojo wraps failures while rendering the combined 'all config' reference page into a MojoExecutionException with message 'Unable to render all config'. Any exception from generateAllConfig or the preceding file write is chained as the cause.
Source
Thrown at devtools/config-doc-maven-plugin/src/main/java/io/quarkus/maven/config/doc/GenerateConfigDocMojo.java:234
throw new MojoExecutionException(
"Unable to render config section for section: " + generatedConfigSection.getPath().property()
+ " in extension: " + extension,
e);
}
}
}
if (generateAllConfig) {
// we generate the file centralizing all the config properties
try {
Path allConfigPath = resolvedTargetDirectory.resolve(String.format(ALL_CONFIG_FILE_FORMAT,
normalizedFormat.getExtension()));
Context context = new Context("all-config", true);
Files.writeString(allConfigPath, generateAllConfig(quteEngine, context, mergedModel.getConfigRoots()));
} catch (Exception e) {
throw new MojoExecutionException("Unable to render all config", e);
}
}
}
private static String generateConfigReference(Engine quteEngine, Context context, Extension extension,
ConfigItemCollection configItemCollection, String additionalAnchorPrefix, boolean searchable) {
return quteEngine.getTemplate("configReference")
.data("extension", extension)
.data("configItemCollection", configItemCollection)
.data("searchable", searchable)
.data("context", context)
.data("summaryTableId", context.summaryTableId()) // for backward compatibility, use context instead
.data("additionalAnchorPrefix", additionalAnchorPrefix)
.data("includeDurationNote", configItemCollection.hasDurationType())
.data("includeMemorySizeNote", configItemCollection.hasMemorySizeType())
.render();
}
View on GitHub (pinned to e1c734241f)
Solutions
- Look at the wrapped cause exception for the root error
- Verify the target directory exists and is writable by the build user
- Run with -X / debug logging to see which config root fails, then fix that extension's config metadata
Defensive patterns
Strategy: try-catch
Validate before calling
Files.createDirectories(Paths.get(targetDirectory)); assert Files.isWritable(Paths.get(targetDirectory));
Try / catch
try {
mojo.execute();
} catch (MojoExecutionException e) {
logger.error("All-config render failed: " + e.getMessage(), e.getCause());
} Prevention
- Ensure disk space and writable output paths in CI
- Fix any duplicate/conflicting config roots before generation
- Pin plugin version to avoid template/model mismatches
When it happens
Trigger: execute() writing the all-config document fails: Qute evaluation error on mergedModel.getConfigRoots(), disk full, or unwritable output path for the chosen format (asciidoc/markdown).
Common situations: Corrupt or conflicting merged model entries cause template evaluation errors; the docs output directory is read-only in CI; large models exhaust memory during rendering.
Related errors
- Unable to render config section for section: ${section} in e
- Unable to create directory: ${directory}
- Unable to collect the target directories
- Unable to read the template: ${template}
- Unable to close InputStream for template: ${template}
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/2968d0c87800f30c.
Report an issue: GitHub.