Error Knowledge Base MAVEN OFFLINE_MODE

Cannot access <repository> in offline mode

Maven is running with offline mode enabled (`-o` / `--offline`), so it will not contact remote repositories to download missing artifacts.

What This Error Means

Maven is running with offline mode enabled (-o / --offline), so it will not contact remote repositories to download missing artifacts.

How to Fix It

Disable offline mode and retry the build (remove -o / --offline).

If offline mode is set in .mvn/maven.config, remove it (or make it conditional) and re-run the command.

If you must run offline (CI/air-gapped), pre-populate the local repository (for example by running the build once online, or by using a repository manager/cache that is reachable from the build environment).

Retry the build after artifacts are available locally.

Why It Happens

Offline mode was enabled intentionally (air-gapped builds, flaky networks) but required artifacts were not pre-cached.

Offline mode was enabled unintentionally via .mvn/maven.config or a CI template.

The local repository cache was cleared or is using a different maven.repo.local path than expected.

How to Verify

Re-run the original Maven goal and confirm it can resolve dependencies without offline-mode errors.

Confirm the previously missing artifacts now exist in ~/.m2/repository/.

Manual offline-mode checks

Check your Maven invocation for -o / --offline.

Check .mvn/maven.config in the project for -o (offline mode can be enforced there).

Confirm whether the missing artifacts exist locally under ~/.m2/repository/.

Examples

[ERROR] Cannot access central (https://repo.maven.apache.org/maven2) in offline mode and the artifact org.example:lib:jar:1.2.3 has not been downloaded from it before.
[ERROR] Cannot access internal (https://repo.example.com/maven) in offline mode

What Maven offline mode does

In offline mode, Maven only uses the local repository cache (~/.m2/repository).

If an artifact is missing locally, Maven cannot download it and the build fails.

Offline mode can be enabled explicitly on the command line or implicitly via project/CI configuration.

Prevention Tips

Use a repository manager inside the network so builds do not depend on public internet access.

If you use offline mode in CI, ensure caches are warmed and persisted between runs.

Document where offline mode is configured (.mvn/maven.config, CI templates) to avoid surprises.

Where This Can Be Triggered

github.com/apache/maven/blob/maven-3.9.6/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java

Offline-mode errors are raised by the underlying resolver layer and bubbled up into Maven via the exception message (e.getMessage()). - GitHub

String msg = "Could not resolve dependencies for project " + project.getId() + ": " + e.getMessage();
DependencyResolutionException dex = new DependencyResolutionException(msg, e);
dex.setResult(e.getResult());
throw dex;

Need help or found a mistake? Contact RepoFlow support for questions.

Join our mailing list