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:
-
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
-SNAPSHOTfor developer builds.
-
Option 1: Use
-SNAPSHOTfor Lower Environments- For branches used only in lower environments, update the
pom.xmlproject version to include-SNAPSHOT(For example:<version>5.0.0-SNAPSHOT</version>). - Ensure all modules (such as
ui.apps,ui.content) inherit thisSNAPSHOTversion. - This allows Cloud Manager to treat these as mutable artifacts and reinstall them, even if the version is unchanged.
- For branches used only in lower environments, update the
-
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.xmlfor each deployment to lower environments. - This ensures Cloud Manager recognizes the package as a new version and installs it.
- If using a static version is required (due to dependency management or other policies), manually increment the project version in
-
Review and Test
- After making the versioning change, trigger a new pipeline deployment to confirm that the
ui.contentpackage is uploaded and installed as expected.
- After making the versioning change, trigger a new pipeline deployment to confirm that the