quarkusio/quarkus · error · GradleException
Failed to locate io.quarkus:quarkus-core-deployment on the a
Error message
Failed to locate io.quarkus:quarkus-core-deployment on the application build classpath
What it means
QuarkusDev.getQuarkusCoreDeployment scans the application build classpath for a dependency with groupId io.quarkus and artifactId quarkus-core-deployment. If none is found it throws this GradleException, because Quarkus dev mode requires quarkus-core-deployment to assemble the deployment-time classpath.
Source
Thrown at devtools/gradle/gradle-application-plugin/src/main/java/io/quarkus/gradle/tasks/QuarkusDev.java:665
final String devModeVersion = devModeProps.getProperty("version");
if (devModeVersion == null) {
throw new GradleException("Classpath resource " + pomPropsPath + " is missing version");
}
return project.getDependencies()
.create(String.format("%s:%s:%s", devModeGroupId, devModeArtifactId, devModeVersion));
}
private Dependency getQuarkusCoreDeployment(ApplicationModel appModel) {
ResolvedDependency coreDeployment = null;
for (ResolvedDependency d : appModel.getDependencies()) {
if (d.isDeploymentCp() && d.getArtifactId().equals("quarkus-core-deployment")
&& d.getGroupId().equals("io.quarkus")) {
coreDeployment = d;
break;
}
}
if (coreDeployment == null) {
throw new GradleException("Failed to locate io.quarkus:quarkus-core-deployment on the application build classpath");
}
return project.getDependencies()
.create(String.format("%s:%s:%s", coreDeployment.getGroupId(), coreDeployment.getArtifactId(),
coreDeployment.getVersion()));
}
private void addLocalProject(ResolvedDependency project, DevModeCommandLineBuilder builder, Set<ArtifactKey> addeDeps,
boolean root) {
addeDeps.add(project.getKey());
final ArtifactSources sources = project.getSources();
if (sources == null) {
return;
}
Set<Path> sourcePaths = new LinkedHashSet<>();
Set<Path> sourceParentPaths = new LinkedHashSet<>();
View on GitHub (pinned to e1c734241f)
Solutions
- Add the Quarkus platform BOM: implementation enforcedPlatform('io.quarkus.platform:quarkus-bom:<version>').
- Ensure at least one Quarkus extension (e.g. io.quarkus:quarkus-rest) is a dependency so the deployment artifact is pulled transitively.
- Check dependencyInsight output: ./gradlew quarkusDev dependencyInsight --dependency quarkus-core-deployment.
- Remove excludes that filter io.quarkus deployment artifacts.
- Apply the Quarkus plugin only to modules that actually contain a Quarkus application.
Example fix
// before
plugins { id 'io.quarkus' }
dependencies { }
// after
plugins { id 'io.quarkus' }
dependencies {
implementation enforcedPlatform('io.quarkus.platform:quarkus-bom:3.15.0')
implementation 'io.quarkus:quarkus-rest'
} Defensive patterns
Strategy: validation
Validate before calling
// Confirm quarkus-core-deployment resolves before starting dev mode
./gradlew dependencyInsight --dependency quarkus-core-deployment
// fail fast in build.gradle if absent
configurations.runtimeClasspath.incoming.resolutionResult.allDependencies { }
// or simply check: ./gradlew dependencies --configuration runtimeClasspath | grep quarkus-core-deployment Try / catch
try {
./gradlew quarkusDev
} catch (GradleException e) {
if (e.getMessage().contains("Failed to locate io.quarkus:quarkus-core-deployment")) {
// add enforcedPlatform + at least one Quarkus extension, then retry
}
} Prevention
- Always declare enforcedPlatform(io.quarkus.platform:quarkus-bom) in Quarkus projects.
- Keep at least one Quarkus extension dependency so deployment artifacts resolve transitively.
- Apply the Quarkus plugin only to application modules, not plain libraries.
- Review dependency excludes that might drop io.quarkus artifacts.
When it happens
Trigger: Running quarkusDev when no io.quarkus:quarkus-core-deployment dependency is resolvable on the application build classpath; raised from addQuarkusDevModeDeps via getQuarkusCoreDeployment.
Common situations: Projects applying the Quarkus plugin but missing the Quarkus platform/BOM dependency entirely; using only extension jars without the platform; a dependency-exclusion or strict conflict resolution that dropped quarkus-core-deployment; building a non-Quarkus module that accidentally applies the plugin.
Related errors
- Classpath resource + pomPropsPath + is missing groupId
- Classpath resource + pomPropsPath + is missing artifactId
- Classpath resource + pomPropsPath + is missing version
- Failed to locate project's classes directory
- Failed to process + artifactPath
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/e4cdff0655226c25.
Report an issue: GitHub.