AEM Cloud Manager: The ui.content package version conflict blocks deployment in lower environments

This article explains how static package versions prevent ui.content package deployment in lower environments on Adobe Experience Manager Cloud Manager pipelines.

Description description

Environment

Adobe Experience Manager (AEM) Cloud Manager (all versions)

Issue/Symptoms

When deploying through Cloud Manager pipelines to lower environments (such as Dev, E2E2, or PLRT), the ui.content package fails to upload if a package with the same version already exists. The deployment logs don’t show errors, but the package isn’t reinstalled or updated. In production pipelines, the same package is uploaded successfully because a unique timestamped version is generated for each build.

Sample log excerpt from Production:

Set project version to 5.0.0.2025_0524_1104410_0008467799 from 5.0.0
Executing command mvn --batch-mode org.codehaus.mojo:versions-maven-plugin:2.6:set -DnewVersion=5.0.0.2025_0524_1104410_0008467799 ...

Sample log excerpt from Lower Environments:

Executing command mvn --batch-mode org.apache.maven.plugins:maven-dependency-plugin:3.1.2:resolve-plugins
  • The issue is reproducible when building in lower environments.
  • The project version is fixed (For example: 5.0.0) due to dependency management requirements.
  • No errors are shown, but the package isn’t updated if the version is unchanged.

For more details, see Project Version Handling in Cloud Manager and SNAPSHOT usage in non-production pipelines.

Cause

Cloud Manager skips package installation in lower environments if the package version is unchanged and already present. Production pipelines avoid this by generating unique timestamped versions for each build, while lower environments require either SNAPSHOT versions or manual version increments to force reinstallation.

Resolution resolution

Follow the steps below to resolve the issue:

  1. Understand Cloud Manager Version Handling

    • In production pipelines, Cloud Manager automatically generates a unique timestamped version for each build, allowing packages to be reinstalled, even if a previous version exists.
    • In lower environments, Cloud Manager doesn’t auto-increment versions and expects the project version to be a -SNAPSHOT for developer builds.
  2. Option 1: Use -SNAPSHOT for Lower Environments

    • For branches used only in lower environments, update the pom.xml project version to include -SNAPSHOT (For example: <version>5.0.0-SNAPSHOT</version>).
    • Ensure all modules (such as ui.apps, ui.content) inherit this SNAPSHOT version.
    • This allows Cloud Manager to treat these as mutable artifacts and reinstall them, even if the version is unchanged.
  3. Option 2: Manually Increment Version for Each Deployment

    • If using a static version is required (due to dependency management or other policies), manually increment the project version in pom.xml for each deployment to lower environments.
    • This ensures Cloud Manager recognizes the package as a new version and installs it.
  4. Review and Test

    • After making the versioning change, trigger a new pipeline deployment to confirm that the ui.content package is uploaded and installed as expected.
recommendation-more-help
experience-cloud-kcs-help-kbarticles