Build is failing due to CHECKSUM issue.
Maven build is failing due to CHECKSUM issue.
AEM Developers, Infrastructure Engineers regularly come across a challenge on building the AEM code & dispatcher module use to get failed while mvn build. The article addresses in a simple way on how to understand the mechanisms of dispatcher module build, and gives a detailed explanation of how it can be resolved.
This is useful for building the code for a deployment via Pipeline either it is Adobe Cloud manager or Jenkins, you can see this error while your local build itself.
This error is caused, as the dispatcher owner does not not want you to change/modify few of its default files which are marked as immutable in dispatcher server.
You can find full list of immutable files on of dispatcher provided by Adobe.
Issue :- In AEM while doing the deployment it is being seen , user get the exception , Maven mandatory check failed.
[main] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-M3:enforce (enforce-checksum-of-immutable-files) on project XXXXXXXX Some Enforcer rules have failed.
All these checksum values can be find in the.
<<directory root>>/dispatcher/pom.xml
SAMPLE POM FILE
<requireFileChecksum>
<file>src/conf.d/available_vhosts/aem_author.vhost</file>
<checksum>xxxxxxxxxxxxxxxxxxxxxxx</checksum>
<type>md5</type>
<message>There have been changes detected in a file which is supposed to be immutable.
</requireFileChecksum>
<requireFileChecksum>
<file>src/conf.d/available_vhosts/aem_publish.vhost</file>
<checksum>xxxxxxxxxxxxxxxxxxxxxxx</checksum>
<type>md5</type>
<message>There have been changes detected in a file which is supposed to be immutable
</requireFileChecksum>
To get the issue resolved you have 2 options.
Option 1 - you should make sure the chcksum value present in pom.xml is same as the corresponding file. - Correct and recommended way
Option 2- You can simply comment the lines in pom.xml for the files which you do not want to be verified.
Hope this helps you to to find the solution of the problem.
The Option 1 which says the checksum value present in pom.xml should match the corresponding file. I was not able to find the checksum value in the file.
ReplyDeleteThe checksum value for src/conf.d/available_vhosts/default.vhost is fbe1225838269b6481db31868868da91 but I was not able to see this checksum value in the file at that path.
How do we verify the Option 1 then ?