What This Error Means
You ran a Maven goal that needs a pom.xml, but Maven cannot find one in the current directory (or via -f).
How to Fix It
- Change to the directory that contains
pom.xml, then re-run the command. - If you need to run from another directory, specify the POM explicitly:
mvn -f /absolute/or/relative/path/to/pom.xml <goal>. - If you intended to run a goal on a specific module, run from the reactor root and use
-pl <module>(plus-amif needed).
Why It Happens
- You ran
mvnfrom the wrong directory. - Your project uses a non-standard layout and the POM is not at the current path.
- In CI, the checkout path or working directory is different than expected.
How to Verify
- Run
mvn -q -DforceStdout help:evaluate -Dexpression=project.artifactIdand confirm it prints a project artifactId. - Re-run your original goal and confirm the POM-not-found error is gone.
Manual project location checks
- Check that a
pom.xmlexists in the working directory:ls -la pom.xml. - If the POM is in a different directory, run Maven with
-f:mvn -f path/to/pom.xml -DskipTests package. - In multi-module projects, run from the reactor root (the directory containing the aggregator
pom.xml).
Common CLI Output
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/path/to/dir). Please verify you invoked Maven from the correct directory. How Maven finds your project
- Most Maven goals operate on a project model loaded from
pom.xml. - If Maven cannot locate the POM, it does not know the project coordinates, repositories, or plugins to use, so it aborts.
Prevention Tips
- In CI, set the job working directory explicitly before running Maven.
- For monorepos, prefer
mvn -f path/to/pom.xml ...so builds are independent of the current directory. - Document the reactor root and module layout for new contributors.
Where This Can Be Triggered
github.com/apache/maven/blob/maven-3.9.11/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java
Maven throws MissingProjectException with the "no POM in this directory" message when a project is required but pom.xml is missing. - GitHub
throw new MissingProjectException("The goal you specified requires a project to execute but there is no POM in this directory ("
+ workingDirectory.getAbsolutePath() + "). Please verify you invoked Maven from the correct directory.");