{"record":{"id":"c6092cba687e7166","repo":"apache/maven","slug":"artifact-relocations-form-a-cycle-visited-c6092c","errorCode":null,"errorMessage":"Artifact relocations form a cycle: {visited}","messagePattern":"Artifact relocations form a cycle: (.+?)","errorType":"exception","errorClass":"ArtifactDescriptorException","httpStatus":null,"severity":"error","filePath":"impl/maven-impl/src/main/java/org/apache/maven/impl/resolver/DefaultArtifactDescriptorReader.java","lineNumber":166,"sourceCode":"                        new VersionRequest(pomArtifact, request.getRepositories(), request.getRequestContext());\n                versionRequest.setTrace(trace);\n                versionResult = versionResolver.resolveVersion(session, versionRequest);\n\n                pomArtifact = pomArtifact.setVersion(versionResult.getVersion());\n            } catch (VersionResolutionException e) {\n                result.addException(e);\n                throw new ArtifactDescriptorException(result);\n            }\n\n            if (!visited.add(a.getGroupId() + ':' + a.getArtifactId() + ':' + a.getBaseVersion())) {\n                RepositoryException exception =\n                        new RepositoryException(\"Artifact relocations form a cycle: \" + visited);\n                invalidDescriptor(session, trace, a, exception);\n                if ((getPolicy(session, a, request) & ArtifactDescriptorPolicy.IGNORE_INVALID) != 0) {\n                    return null;\n                }\n                result.addException(exception);\n                throw new ArtifactDescriptorException(result);\n            }\n\n            ArtifactResult resolveResult;\n            try {\n                ArtifactRequest resolveRequest =\n                        new ArtifactRequest(pomArtifact, request.getRepositories(), request.getRequestContext());\n                resolveRequest.setTrace(trace);\n                resolveResult = artifactResolver.resolveArtifact(session, resolveRequest);\n                pomArtifact = resolveResult.getArtifact();\n                result.setRepository(resolveResult.getRepository());\n            } catch (ArtifactResolutionException e) {\n                if (e.getCause() instanceof ArtifactNotFoundException artifactNotFoundException) {\n                    missingDescriptor(session, trace, a, artifactNotFoundException);\n                    if ((getPolicy(session, a, request) & ArtifactDescriptorPolicy.IGNORE_MISSING) != 0) {\n                        return null;\n                    }\n                }\n                result.addException(e);","sourceCodeStart":148,"sourceCodeEnd":184,"githubUrl":"https://github.com/apache/maven/blob/e4093d4e120eac99d6bdce5ba67cace2f3085c97/impl/maven-impl/src/main/java/org/apache/maven/impl/resolver/DefaultArtifactDescriptorReader.java#L148-L184","documentation":"Error \"Artifact relocations form a cycle: {visited}\" thrown in apache/maven.","triggerScenarios":"Thrown at impl/maven-impl/src/main/java/org/apache/maven/impl/resolver/DefaultArtifactDescriptorReader.java:166 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e4093d4e120eac99d6bdce5ba67cace2f3085c97","analyzedAt":"2026-08-21T22:58:24.034Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}