quarkusio/quarkus · error · RuntimeException
Failed to locate quarkus-core-version property in the bundle
Error message
Failed to locate quarkus-core-version property in the bundled quarkus.properties
What it means
After loading quarkus.properties from the classpath, VersionHelper.clientVersion() requires the quarkus-core-version key. If Properties.getProperty("quarkus-core-version") returns null, it throws this RuntimeException. It means the bundled properties file loaded successfully but lacks the required version entry.
Source
Thrown at devtools/cli-common/src/main/java/io/quarkus/cli/common/VersionHelper.java:47
if ("file".equals(quarkusPropertiesUrl.getProtocol()) || "jar".equals(quarkusPropertiesUrl.getProtocol())) {
ClassPathUtils.consumeAsPath(quarkusPropertiesUrl, p -> {
try (BufferedReader reader = Files.newBufferedReader(p)) {
props.load(reader);
} catch (IOException e) {
throw new RuntimeException("Failed to load quarkus.properties", e);
}
});
} else {
try {
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("quarkus.properties"));
} catch (IOException e) {
throw new IllegalStateException("Failed to load quarkus.properties", e);
}
}
version = props.getProperty("quarkus-core-version");
if (version == null) {
throw new RuntimeException("Failed to locate quarkus-core-version property in the bundled quarkus.properties");
}
return version;
}
}
View on GitHub (pinned to e1c734241f)
Solutions
- Remove or rename any user-created quarkus.properties that shadows the bundled one on the classpath.
- Reinstall the quarkus CLI so the original bundled quarkus.properties (with quarkus-core-version) is restored.
- Inspect the resolved resource (getResource("quarkus.properties")) and confirm it contains quarkus-core-version; fix the classpath ordering ( CLASSPATH env, -cp flags).
Example fix
// diagnose
URL u = Thread.currentThread().getContextClassLoader().getResource("quarkus.properties");
System.out.println("resolved from: " + u); // ensure this is the bundled jar, not a stray file
// fix: remove the stray quarkus.properties from the classpath or reinstall the CLI Defensive patterns
Strategy: validation
Validate before calling
URL u = Thread.currentThread().getContextClassLoader().getResource("quarkus.properties");
Properties p = new Properties();
try (InputStream in = u.openStream()) { p.load(in); }
if (p.getProperty("quarkus-core-version") == null) {
System.err.println("Shadowed/broken quarkus.properties at: " + u);
} Try / catch
try {
String v = VersionHelper.clientVersion();
} catch (RuntimeException e) {
// inspect which resource was resolved and reinstall the CLI
} Prevention
- Never name your own file quarkus.properties on the CLI classpath.
- Avoid polluting CLASSPATH env var with directories containing quarkus.properties.
- Reinstall the CLI rather than hand-editing its jars.
When it happens
Trigger: Calling VersionHelper.clientVersion() when a quarkus.properties resource is found on the classpath but it does not contain a quarkus-core-version property — typically because a different/older quarkus.properties shadows the bundled one earlier on the classpath.
Common situations: A user or build placed a custom quarkus.properties in a directory on the classpath ahead of the CLI jars; a shaded/repackaged CLI jar that lost the generated version property; classpath pollution via CLASSPATH environment variable.
Related errors
- Failed to locate quarkus.properties on the classpath
- Unable to find or load top command: <className>
- Expected : after attribute
- Failed to load CodeGenProvider class from deployment classlo
- Failed to read %s
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/ba952f5c6fb0bd6d.
Report an issue: GitHub.