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

  1. Remove or rename any user-created quarkus.properties that shadows the bundled one on the classpath.
  2. Reinstall the quarkus CLI so the original bundled quarkus.properties (with quarkus-core-version) is restored.
  3. 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

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


AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05). Data as JSON: /api/errors/ba952f5c6fb0bd6d. Report an issue: GitHub.