When executing the utility via ./DataMigrator.sh, the process fails immediately with the following exception trace:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/logging/log4j/LogManager
at com.ca.waae.datamigrator.LoggingUtil.initLogging(Unknown Source)
at com.ca.waae.datamigrator.DataMigrator.<clinit>(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.apache.logging.log4j.LogManager
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
WAAE 24.2
The java.lang.NoClassDefFoundError indicates that the Java Virtual Machine (JVM) cannot find the required Apache Log4j 2 library (org.apache.logging.log4j.LogManager) at runtime. This behavior occurs when necessary logging dependencies are absent from the utility's library folder or when the classpath is incorrectly configured in the launcher script.
1. Navigate to the utility's library directory:
cd /opt/CA/DataMigrator/lib
2. Validate if there are any missing JAR files in the /opt/CA/DataMigrator/lib directory. Specifically, check for the presence of Apache Log4j binaries (such as log4j-api-*.jar and log4j-core-*.jar).
3. If the required JAR files are missing, restore them from the original installation media or standard product package.
4. Verify that the launch script (DataMigrator.sh) has permissions to read the directory and correctly appends /opt/CA/DataMigrator/lib/* to its Java classpath (-cp or -classpath) argument.