Up gradation of code base from AEM 6.1 to 6.4 (Upgrade WCMUse to WCMUsePojo)

sayalichougale

26-08-2019

Hi,

As I am trying to upgrade from AEM 6.1 to AEM 6.4, I need to change the extension of all the classes from WCMUse to WCMUsePojo. Have added the required dependency in the projects parent pom.xml as well :

   <dependency>

            <groupId>com.adobe.aem</groupId>

            <artifactId>uber-jar</artifactId>

             <version>6.4.0</version>

            <classifier>obfuscated-apis</classifier>

            <scope>provided</scope>

        </dependency>

But I am getting the following error during the maven build of the project:

[ERROR] Failed to execute goal org.apache.felix:maven-scr-plugin:1.7.4:scr (generate-scr-descriptor) on project abcd: Execution generate-scr-descriptor of goal org.apache.felix:maven-scr-plugin:1.7.4:scr failed: An API incompatibility was encountered while executing org.apache.felix:maven-scr-plugin:1.7.4:scr: java.lang.VerifyError: Constructor must call super() or this() before return

[ERROR] Exception Details:

[ERROR] Location:

[ERROR] com/adobe/cq/sightly/WCMUsePojo.<init>()V @1: return

[ERROR] Reason:

[ERROR] Error exists in the bytecode

[ERROR] Bytecode:

[ERROR] 0x0000000: 2ab1

[ERROR]

[ERROR] -----------------------------------------------------

[ERROR] realm =    plugin>org.apache.felix:maven-scr-plugin:1.7.4

[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy

[ERROR] urls[0] = file:/D:/aem_local_repo/org/apache/felix/maven-scr-plugin/1.7.4/maven-scr-plugin-1.7.4.jar

[ERROR] urls[1] = file:/D:/aem_local_repo/org/apache/maven/maven-archiver/2.2/maven-archiver-2.2.jar

[ERROR] urls[2] = file:/D:/aem_local_repo/org/codehaus/plexus/plexus-utils/1.0.4/plexus-utils-1.0.4.jar

[ERROR] urls[3] = file:/D:/aem_local_repo/junit/junit/3.8.1/junit-3.8.1.jar

[ERROR] urls[4] = file:/D:/aem_local_repo/org/codehaus/plexus/plexus-archiver/1.0-alpha-7/plexus-archiver-1.0-alpha-7.jar

[ERROR] urls[5] = file:/D:/aem_local_repo/org/apache/felix/org.apache.felix.scr.generator/1.1.4/org.apache.felix.scr.generator-1.1.4.jar

[ERROR] urls[6] = file:/D:/aem_local_repo/com/thoughtworks/qdox/qdox/1.12/qdox-1.12.jar

[ERROR] urls[7] = file:/D:/aem_local_repo/asm/asm-all/3.1/asm-all-3.1.jar

[ERROR] Number of foreign imports: 1

[ERROR] import: Entry[import  from realm ClassRealm[project> abcd:1.0-SNAPSHOT, parent: ClassRealm[maven.api, parent: null]]]

[ERROR]

[ERROR] -----------------------------------------------------

[ERROR] -> [Help 1]

[ERROR]

[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.

[ERROR] Re-run Maven using the -X switch to enable full debug logging.

[ERROR]

[ERROR] For more information about the errors and possible solutions, please read the following articles:

[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException

[ERROR]

[ERROR] After correcting the problems, you can resume the build with the command

[ERROR]   mvn <goals> -rf :

Also I have a doubt if it is compatible to use Maven Archtype 11 in AEM 6.4

View Entire Topic

Gaurav-Behl

MVP

26-08-2019

Is maven-scr-plugin:1.7.4 generated by archetype 11 or is it carried over from your 6.1 pom.xml?

A best practice - It’s recommended to place Uber jar at the bottom of the dependency list so that Maven will honor any newer versions of dependencies that is explicitly declared inside the project POM.