Error Knowledge Base Maven POM_MISSING

The POM for <artifact> is missing, no dependency information available

Maven located a JAR coordinate, but could not download the corresponding POM, so it cannot determine transitive dependencies or metadata for that artifact.

What This Error Means

Maven located a JAR coordinate, but could not download the corresponding POM, so it cannot determine transitive dependencies or metadata for that artifact.

Read this as a precise clue about which part of the workflow broke first. Once you know the failing layer, the fix path gets much shorter.

How to Fix It

The fastest fixes here come from checking the immediate failing layer before you change anything unrelated. Make one correction at a time and re-test from the same environment.

Confirm the artifact coordinates in your pom.xml are correct (exact groupId/artifactId/version).

If this is a private artifact, confirm it was published with a POM and that your repository manager contains both the POM and JAR.

If your build uses a mirror, confirm it proxies the repository that contains the POM (and isn't blocking metadata).

Delete cached failures under ~/.m2/repository/<groupId path>/<artifactId>/<version>/ (including *.lastUpdated) and retry.

Re-run the build after the POM is available and accessible.

Why It Happens

Usually this comes down to the artifact was published incorrectly (JAR uploaded without its POM), the coordinates are wrong (wrong groupId/artifactId/version), so Maven is requesting a POM that doesn't exist, a mirror/proxy repository is serving incomplete metadata or blocking the POM path, or a cached failed download (*.lastUpdated) is preventing Maven from retrying immediately.

Verify the Fix

Re-run mvn -DskipTests package and confirm the POM-missing message no longer appears, and run mvn -q -DskipTests dependency:tree and confirm transitive dependencies resolve for that artifact.

Manual POM availability checks

Copy the failing coordinates and attempt to fetch the POM directly:mvn -q -Dartifact=groupId:artifactId:pom:version dependency:get

Check whether the artifact exists in the expected repository (Central or internal repository manager) with the exact coordinates and version.

Force a metadata refresh once:mvn -U -DskipTests package

Examples

[WARNING] The POM for com.example:missing:jar:1.0.0 is missing, no dependency information available
[ERROR] The POM for com.example:missing:jar:1.0.0 is missing, no dependency information available

Why the POM matters for dependencies

Maven uses an artifact's POM to discover its dependencies, dependencyManagement, relocations, and other metadata. If the POM is missing or cannot be downloaded, Maven can sometimes download the JAR but cannot correctly resolve transitive dependencies.

Prevent It From Coming Back

To prevent this, publish artifacts through a repository manager and enforce complete metadata (POM + checksums), prefer releasing through Maven deploy workflows so POMs are generated and uploaded consistently, and use CI checks that verify repository contents include both POM and binary artifacts.

Docs and source code

github.com/apache/maven/blob/maven-3.9.6/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java

When Maven cannot fetch required POM metadata, the underlying resolver message (e.g. "The POM for ... is missing") bubbles up via e.getMessage() in Maven's dependency resolution exception. - GitHub

String msg = "Could not resolve dependencies for project " + project.getId() + ": " + e.getMessage();
DependencyResolutionException dex = new DependencyResolutionException(msg, e);
dex.setResult(e.getResult());
throw dex;

Need help or found a mistake? Contact RepoFlow support for questions.

Join our mailing list