{"record":{"id":"b7d687874a98da98","repo":"quarkusio/quarkus","slug":"failed-to-resolve-codestart-artifact-codestartar","errorCode":null,"errorMessage":"Failed to resolve codestart artifact ${codestartArtifactCoords}","messagePattern":"Failed to resolve codestart artifact (.+?)","errorType":"exception","errorClass":"MojoExecutionException","httpStatus":null,"severity":"error","filePath":"independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java","lineNumber":663,"sourceCode":"        if (!skipCodestartValidation) {\n            // first we look for it in the workspace, if it's in there we don't need to actually resolve the artifact, because it might not have been built yet\n            if (workspaceProvider.getProject(codestartArtifactCoords.getGroupId(),\n                    codestartArtifactCoords.getArtifactId()) != null) {\n                return;\n            }\n            for (Artifact attached : project.getAttachedArtifacts()) {\n                if (codestartArtifactCoords.getArtifactId().equals(attached.getArtifactId()) &&\n                        codestartArtifactCoords.getClassifier().equals(attached.getClassifier()) &&\n                        codestartArtifactCoords.getType().equals(attached.getType()) &&\n                        codestartArtifactCoords.getVersion().equals(attached.getVersion()) &&\n                        codestartArtifactCoords.getGroupId().equals(attached.getGroupId())) {\n                    return;\n                }\n            }\n            try {\n                resolve(new DefaultArtifact(codestartArtifact));\n            } catch (MojoExecutionException e) {\n                throw new MojoExecutionException(\"Failed to resolve codestart artifact \" + codestartArtifactCoords, e);\n            }\n        }\n    }\n\n    /**\n     * If artifact contains \"G:A\" the project version is added to have \"G:A:V\" <br>\n     * else the version must be defined either with ${project.version} or hardcoded <br>\n     * to be compatible with AppArtifactCoords.fromString\n     *\n     * @param originalArtifact\n     * @param projectVersion\n     * @return\n     */\n    static String getCodestartArtifact(String originalArtifact, String projectVersion) {\n        if (originalArtifact.matches(\"^[^:]+:[^:]+$\")) {\n            return originalArtifact + \":\" + projectVersion;\n        }\n        return originalArtifact.replace(\"${project.version}\", projectVersion);","sourceCodeStart":645,"sourceCodeEnd":681,"githubUrl":"https://github.com/quarkusio/quarkus/blob/e1c734241f34c7919086ceb4c9262b4a58f6de44/independent-projects/extension-maven-plugin/src/main/java/io/quarkus/maven/ExtensionDescriptorMojo.java#L645-L681","documentation":"ExtensionDescriptorMojo resolves the codestart artifact declared by an extension to validate it exists in the configured repositories. When Maven Resolver fails to resolve the artifact coordinates (any MojoExecutionException from resolve()), it wraps the failure with the offending coordinates.","triggerScenarios":"Running quarkus-maven-plugin:extension-descriptor on an extension whose quarkus-extension.properties declares a codestart artifact with wrong GAV, or an artifact absent from configured repositories; resolution throws and completeCodestartArtifact wraps it.","commonSituations":"Typos in codestart artifact coordinates in extension descriptor properties; codestart jar not deployed to remote repository; missing repository configured in settings.xml; using a project version property that doesn't interpolate.","solutions":["Check the codestart artifact coordinates printed in the message for typos in groupId:artifactId:version","Verify the codestart artifact is actually deployed to a repository configured for the build (check settings.xml / distributionManagement)","Run mvn dependency:get -Dartifact=<coords> locally to confirm it is fetchable","If the codestart was refactored/renamed, update the extension's quarkus-extension.properties accordingly"],"exampleFix":"<!-- before: missing codestart in descriptor -->\n<!-- after: deploy the codestart or correct coords, e.g. -->\nquarkus.extension.codestart=my.org:my-codestart:${project.version}","handlingStrategy":"validation","validationCode":"mvn dependency:get -Dartifact=my.org:my-codestart:1.0.0","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Validate codestart coordinates exist in repos before release","Use ${project.version} consistently in descriptor properties","Keep codestart and extension versions in sync via CI"],"tags":["maven","artifact-resolution","codestart"],"backgroundTag":"artifact-resolution-failed","analyzedSha":"e1c734241f34c7919086ceb4c9262b4a58f6de44","analyzedAt":"2026-09-05T17:01:29.979Z","contentChangedAt":"2026-09-05T17:01:29.979Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}