quarkusio/quarkus · error · MojoExecutionException
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
DevMojo (quarkus:dev) requires the quarkus-core-deployment artifact on the application's build classpath to launch dev mode. After scanning project dependencies it looks for an artifact with groupId io.quarkus and artifactId quarkus-core-deployment; if none is found it aborts with this MojoExecutionException. It indicates the Quarkus core deployment jar is not a resolved dependency of the project being run.
Source
Thrown at devtools/maven/src/main/java/io/quarkus/maven/DevMojo.java:1700
.map(Xpp3Dom::getValue)
.map(String::trim)
.filter(not(String::isEmpty))
.ifPresent(builderCall);
}
private void addQuarkusDevModeDeps(DevModeCommandLineBuilder builder, ApplicationModel appModel)
throws MojoExecutionException, DependencyResolutionException {
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 MojoExecutionException(
"Failed to locate io.quarkus:quarkus-core-deployment on the application build classpath");
}
final String pomPropsPath = "META-INF/maven/io.quarkus/quarkus-bootstrap-maven-resolver/pom.properties";
final InputStream devModePomPropsIs = DevModeMain.class.getClassLoader().getResourceAsStream(pomPropsPath);
if (devModePomPropsIs == null) {
throw new MojoExecutionException("Failed to locate " + pomPropsPath + " on the classpath");
}
final Properties devModeProps = new Properties();
try (InputStream is = devModePomPropsIs) {
devModeProps.load(is);
} catch (IOException e) {
throw new MojoExecutionException("Failed to load " + pomPropsPath + " from the classpath", e);
}
final String devModeGroupId = devModeProps.getProperty("groupId");
if (devModeGroupId == null) {
throw new MojoExecutionException("Classpath resource " + pomPropsPath + " is missing groupId");
}View on GitHub (pinned to e1c734241f)
Solutions
- Add at least one Quarkus extension dependency (e.g. io.quarkus:quarkus-arc) which pulls in quarkus-core-deployment transitively
- Import io.quarkus.platform:quarkus-bom (matching your Quarkus version) in dependencyManagement
- Run with -U to refresh resolution and verify `mvn dependency:tree | grep quarkus-core-deployment` shows the artifact
- Check for exclusions of io.quarkus artifacts in the pom or parent POM
Example fix
// before
<dependencies>
<!-- no quarkus dependencies -->
</dependencies>
// after
<dependencies>
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-arc</artifactId>
</dependency>
</dependencies> Defensive patterns
Strategy: validation
Validate before calling
mvn dependency:tree -Dincludes=io.quarkus:quarkus-core-deployment # must print a resolved node before running quarkus:dev
Prevention
- Always depend on at least one Quarkus extension before running quarkus:dev
- Import the Quarkus platform BOM matching your plugin version
- Verify with dependency:tree that io.quarkus artifacts resolve
- Avoid broad exclusions of io.quarkus group artifacts
When it happens
Trigger: Running `mvn quarkus:dev` on a project whose resolved dependencies contain no io.quarkus:quarkus-core-deployment artifact — e.g. no quarkus-* runtime extension dependencies at all, a dependency management setup that excludes/transfers quarkus-core-deployment, or an application model whose dependencies were filtered before the scan.
Common situations: Missing quarkus-maven-plugin/extension dependencies in pom.xml; using an import-only BOM without adding any quarkus extension dependency; a custom parent POM excluding io.quarkus artifacts; corrupted/partial local repository where the deployment artifact failed to resolve silently.
Related errors
- Failed to open class path file <file>
- Dev mode process did not complete successfully
- Failed to run
- Failed to obtain descriptor for Maven plugin <pluginId> goal
- Local dependency <module> does not appear to have any source
AI-assisted analysis of quarkusio/quarkus@e1c734241f (2026-09-05).
Data as JSON: /api/errors/e9670950e181575c.
Report an issue: GitHub.