quarkusio/quarkus · error · RuntimeException

Failed to read ${projectPom}

Error message

Failed to read ${projectPom}

What it means

RuntimeException from MavenProjectBuildFile.refreshData: re-reading the project's pom.xml after a modification failed with an IOException (the pom path is interpolated into the message). This is a wrapper guard around MojoUtils.readPom; the file at that path is unreadable or the XML is broken after the edit.

Source

Thrown at independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/buildfile/MavenProjectBuildFile.java:386

            writeToProjectFile(BuildTool.MAVEN.getDependenciesFile(), pomOutputStream.toByteArray());
        }
    }

    @Override
    protected String getProperty(String propertyName) {
        return projectProps.getProperty(propertyName);
    }

    @Override
    protected void refreshData() {
        final Path projectPom = getProjectDirPath().resolve("pom.xml");
        if (!Files.exists(projectPom)) {
            return;
        }
        try {
            model = MojoUtils.readPom(projectPom.toFile());
        } catch (IOException e) {
            throw new RuntimeException("Failed to read " + projectPom, e);
        }
        projectProps = model.getProperties();
        final ArtifactDescriptorResult descriptor = describe(resolver(), new DefaultArtifact(
                ModelUtils.getGroupId(model), model.getArtifactId(), "pom", ModelUtils.getVersion(model)));
        managedDependencies = toArtifactCoords(descriptor.getManagedDependencies());
        projectDepsSupplier = () -> toArtifactCoords(descriptor.getDependencies());
        dependencies = null;
    }

    private MavenArtifactResolver resolver() {
        return resolver == null ? resolver = getMavenResolver(getProjectDirPath()) : resolver;
    }

    private int getIndexToAddExtension() {
        final List<Dependency> dependencies = model().getDependencies();
        for (int i = 0; i < dependencies.size(); i++) {
            if ("test".equals(dependencies.get(i).getScope())) {
                return i;

View on GitHub (pinned to e1c734241f)

Solutions

  1. Check the pom.xml at the reported path is readable and well-formed
  2. Fix or restore the pom if a previous edit corrupted it
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/project/buildfile/MavenProjectBuildFile.java:386 when the library encounters an invalid state.

Common situations: See trigger scenarios.


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