Java 8 and Java 11 deprecation issues during migration to Java 21 in AEMaaCS
Adobe Experience Manager (AEM) as a Cloud Service no longer supports Java 8 or Java 11 at runtime and requires migration to Java 21. This issue occurs when build-time Java versions, runtime Java versions, third-party dependencies, or migration timelines create compatibility concerns and uncertainty about required actions. To resolve the issue, verify runtime, validate compatibility, and update builds.
Description description
Environment
Adobe Experience Manager as a Cloud Service (AEMaaCS)
Issue/Symptoms
- Cloud Manager build notices indicate the use of deprecated Java APIs.
- The environment runs Java 21 at runtime while the build still uses Java 11.
- Teams are uncertain whether Java 11 builds remain supported after the Java 21 runtime rollout.
- Actions Center notifications reference Java deprecation or migration requirements.
- Runtime and build-time Java versions appear inconsistent across environments.
Root cause
The issue occurs because AEM as a Cloud Service upgrades runtime environments to Java 21 while customer projects may continue using Java 11 for build processes. Runtime Java is managed by Adobe, whereas build-time Java is controlled by the project configuration. Misunderstanding this separation, along with deprecated APIs and dependency incompatibilities, leads to migration concerns and build validation issues.
Resolution resolution
Follow these steps to validate Java runtime usage and prepare the application for Java 21 compatibility:
- Verify the runtime Java version by opening the Developer Console from Cloud Manager and reviewing the reported Java version.
- Log the runtime Java version through a custom OSGi component by recording the value of
System.getProperty("java.version")when the runtime version is not visible in the Developer Console. - Review the
.cloudmanager/java-versionfile and determine whether the project builds with Java 11, 17, or 21. - Validate Java 21 compatibility by ensuring the environment is on AEM release 17098 or later, running the local SDK with Java 21, deploying the application locally, and verifying that no classloading or dependency issues occur.
- Create a development branch that sets
.cloudmanager/java-versionto 21 and execute a development pipeline to validate application behavior under Java 21. - Review deprecated API usage when Actions Center notifications appear and update code that references deprecated or removed packages such as removed Sling, Felix, or Jetty APIs.
- Update the build version to Java 21 by creating or modifying the
.cloudmanager/java-versionfile with 21 and running a non-production pipeline once compatibility validation succeeds. - Review any Java 21 migration notification email and update unsupported libraries or dependencies identified in the dependency analysis. For example, replace or upgrade unsupported versions of libraries such as Groovy or Logback when identified.
- Validate the resolution by confirming that the runtime reports Java 21, Cloud Manager builds succeed, deprecation notices no longer appear, and functional tests pass successfully.
When to escalate
- The Developer Console remains inaccessible after permissions are validated.
- The application continues to show dependency incompatibilities after Java 21 validation.
- Cloud Manager builds fail after updating the build version to Java 21.
- Unsupported dependencies remain unresolved after migration analysis and remediation.
Related reading
- AEMaaCS Java 21 Runtime Deprecation Notice
- Build-Time Java Version Requirements
- Release Notes for 2025.11.0 release of Adobe Experience Manager as a Cloud Service
- Release Notes for 2026.1.0 release of Adobe Experience Manager as a Cloud Service
- Release Notes for 2025.10.0 release of Adobe Experience Manager as a Cloud Service