Expand my Community achievements bar.

July 31st AEM Gems Webinar: Elevate your AEM development to master the integration of private GitHub repositories within AEM Cloud Manager.

AEM 6.0/6.5 oak-run and migration issue


Level 7

Hi All,


I am trying to migrate the content from AEM6.0 (Oak 1.0.22) to AEM 6.5 (Oak 1.10.2). Here's what I did,

install a fresh copy of AEM 6.5 (/apps/aem65/crx-quickstart/repository)

get a copy of the current repository in version 6.0 (/apps/aem60/crx-quickstart/repository)

Run the command

java -Xmx4096m -jar crx2oak-1.8.10-all-in-one.jar segment-old:/apps/aem60/crx-quickstart/repository /apps/aem65/crx-quickstart/repository --datastore=/apps/aem65/crx-quickstart/repository/datastore > ~cms/aem-migration.txt &

It was successful. The size is down from 62G to 54G, probably because of the different formats.


Now trying to start up AEM 6.5 

java -server -Xms1024m -Xmx2048m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=2048m -Djavax.net.ssl.trustStore=/apps/aem65/crx-quickstart/ssl/trusted.keystore -Djava.awt.headless=true -Xverify:none -noverify -Dsling.run.modes=author,crx3,crx3tar -jar crx-quickstart/app/cq-quickstart-6.5.0-standalone-quickstart.jar start -c crx-quickstart -i launchpad -p 4502 -Dsling.properties=conf/sling.properties


It fails when going to the author instance URL, throwing an "authentication service missing" error. So I follow the most popular suggestion from the community, deleting the index folder under repository and restart the process, no luck.


Then another suggestion is to look into the original segmentstore to see if it's corrupted. So I ran the command,

java -jar oak-run-1.0.22.jar check --bin=-1 /apps/aem60/crx-quickstart/repository/segmentstore/


Now I get:

Apache Jackrabbit Oak 1.0.22

Exception in thread "main" java.lang.IllegalArgumentException: No enum constant org.apache.jackrabbit.oak.run.Main.Mode.CHECK

at java.lang.Enum.valueOf(Enum.java:238)

at org.apache.jackrabbit.oak.run.Main$Mode.valueOf(Main.java:886)

at org.apache.jackrabbit.oak.run.Main.main(Main.java:112)


Can someone please help?










3 Replies


Level 6

@kevingtan If you do not get any solution then i think before that You can also try this from 6.0 to 6.3 or 6.4 before going to 6.5 . it may work on 6.3 or 6.4 then you will sure that this is working on here but not in AEM 6.5 then you will get some clue . In migration process you have to go step by step for the better result not in one go. 


Thank You.

Keshav Chaurasiya


Level 7

Hi @kchaurasiya ,


Thanks for your suggestion. I am wondering if the difference between 6.4 and 6.5 would make the migration only works on 6.4. I have been trying crx2oak at least 5 time with different options and parameters. It looks there is s small progress, but far from enough to make myself feel good. I can start up the 6.5 instance, but the login page stops working. We are using the local login for testing, by the way. We can see all the migrated contents under /crx/de.


I have another environment with 6.0 and 6.5, with the very original conent from adobe on both. I tested the migration by creating two simple pieces of content on 6.0. After running crx2oak, I can see the login page on 6.5 and able to log in to see the newly created content from the dashboard and content tree. Only seeing a blank page when popping up those pages, which is totally expected since the underlying resources are different. 


I tried the similar approach by excluding our customized jar file from the crx2oak. Just can't get it work.


Thanks for your suggestions!




Level 7

All right. I can get the login page back now. It's because AEM is somehow loading up our customized url transformer, which implements the interface org.apache.sling.rewriter.Transformer. This interface is not found so I had to delete the whole transformer config from /crx/de.