Removed 26 February 2026

Replacing Google Guava in AEM as a Cloud Service

The platform deprecated its Guava export on 15 May 2023 and removed it on 26 February 2026. Bundles that import com.google.common no longer resolve. Adobe's own migration tooling maps Guava caches to Caffeine.

Affected packages and APIs

  • com.google.common.*

What to use instead

JDK collections and java.util.Objects for most uses, Caffeine for caches, or an embedded Guava version (Adobe's notes list guava 33.4.8-jre) when the dependency is unavoidable.

How to fix it

  1. Replace Lists.newArrayList(), Maps.newHashMap() and similar with JDK constructors or List.of().
  2. Replace Preconditions with java.util.Objects.requireNonNull and explicit checks.
  3. Replace CacheBuilder with Caffeine and review eviction settings.
  4. If a library you depend on needs Guava, embed it in that bundle instead of importing it from the platform.

AEM 6.5

import com.google.common.cache.CacheBuilder;

Cache<String, Page> cache = CacheBuilder.newBuilder()
    .maximumSize(500)
    .expireAfterWrite(10, TimeUnit.MINUTES)
    .build();

Cloud Service

import com.github.benmanes.caffeine.cache.Caffeine;

Cache<String, Page> cache = Caffeine.newBuilder()
    .maximumSize(500)
    .expireAfterWrite(Duration.ofMinutes(10))
    .build();

How we detect it

  • Readiness scan rule guava: Google Guava imports (removed from Cloud Service on 26 Feb 2026).
  • Readiness scan rule guava-public-api: Guava types in public APIs (cross-file change).

Best Practices Analyzer reports it under OCU.

Can agents fix it?

High. Collection helpers and caches convert mechanically; reviewers check cache semantics.

Source: Adobe Experience League. Checked 19 October 2026.