{
  "id": 20140589,
  "title": "maven could not transfer artifact ci, not a missing jar",
  "url": "https://urgent.news/2026/11/15/maven-could-not-transfer-artifact-ci-not-a-missing-jar",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-15T08:11:23.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/kalemi/maven-could-not-transfer-artifact-ci-not-a-missing-jar-2j4p"
  },
  "original_language": "en",
  "account": "A maven build failure can occur when trying to transfer an artifact, but this is different from a missing jar. Maven displays two unique messages for these scenarios, and it caches one of them by default. The confusion arises because most advice regarding cached failures and retry properties applies to the message you don't see. There are two distinct causes for these errors, and two different fixes accordingly. The most surprising aspect is that the cached failure is related to a \"not-found\" issue, while the retry property mentioned in many solutions does not have the same effect as the default transport setting.\n\nWhen a build stops during resolution, the header provides clues to the problem. A \"Could not resolve dependencies\" message indicates a plugin failure or one of its dependencies not being resolved. In both cases, the important information includes the artifact name and the repository involved. The transport failure message (\"Could not transfer\") and the \"Could not find\" message (signifying a 404 error) originate from different exception classes in the resolver and require distinct fixes.\n\nA \"Could not transfer artifact\" clause appears in the plugin resolution section, even when the log originates from a container running Apache Maven 3.9.16 on Temurin 21.0.12, with a mirror set up to answer 503 to every request. The log layout remains consistent regardless of whether it appears in a Latchkey runner or not. This page contains no reproduction for a specific runner, and the repository ID and URL are ours, so readers should compare the provided block against their own log.\n\nTwo primary reasons for these errors exist: the repository, mirror, or proxy refusing or delaying the request, and a transfer that stalls, waiting for a default timeout of 30 minutes. The latter usually triggers a job kill before the error message appears, leaving only a truncated log. Incorrect credentials can also result in a transfer failure, which is not an outage but rather a response to an authentication challenge. Other potential issues include snapshots being re-resolved on every build, increasing the number of requests and exposing the build to network issues.\n\nTo resolve these problems, one must first examine the cause clause and then choose the appropriate course of action. If the message indicates a \"Could not find artifact,\" investigate the version, upstream module deployment, and repository declaration. Fixing the latter involves ensuring the repository, mirror, or proxy is functioning correctly, either by adjusting the timeout or looking into DNS, firewalls, or proxies. Finally, setting the retry count and timeout for the transport used by Maven can help prevent further issues, with a suggested 30-second timeout as a default.",
  "summary": "A maven could not transfer artifact ci failure means the resolver tried to move bytes and could not, which is a different failure from the repository telling Maven the artifact is not there. Maven prints two distinct messages for those two situations and caches exactly one of them by default, so most of the advice written about cached failures and retry properties is attached to the message you…",
  "key_points": [
    "\"Could not transfer artifact\" message differs from \"Could not resolve dependencies\"",
    "Cached failure related to \"not-found\" issue, not retry property",
    "Timeout of 30 minutes often triggers job kill before error appears"
  ],
  "editors_take": "Distinguishing between transfer failures and missing artifacts prevents developers from applying ineffective retry properties to cached errors that actually stem from network instability or authentication challenges.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}