Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

AEM 6.5 migrate JDK 8 to 11

Avatar

Level 2

Hi,

 

We have an on-prem AEM 6.3 installation running with Oracle Java 8.

We are now performing in-place upgrade to AEM 6.5. For the upgrade procedure we use the same java version 8.

Once the in-place upgrade is done, we want to restart our AEM 6.5 instance with Java 11.

This does not seem to work as we are getting a lot of errors related to "(java.lang.NoClassDefFoundError: jdk/internal/reflect/MethodAccessorImpl)". Reverting back to Java 8 also doesn't work anymore. It seems that when we try to boot the AEM 6.5 instance with Java 11, it corrupts the launchpad. 

 

My question is: how to upgrade Java version after an AEM in-place upgrade?  Is this a supported flow or will AEM 6.5 only work with Java 11 when it was initially installed with Java 11? So not in case of an in-place upgrade?

 

Secondly, in this announcement https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/adobe-announcement-oracle-..., it is mentioned that we can download an Adobe licensed Java 11 from package share. But we can't find that package back on package share.

 

It is also very unfortunate that we can't use OpenJDK11. Or has Adobe changed their opinion on this?

 

Thanks for your answers.

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

6.5
1 Accepted Solution

Avatar

Correct answer by
Employee

The JDK Downloads are hosted on the Adobe Software Distribution page

https://experience.adobe.com/#/downloads/content/software-distribution/en/general.html

 

Screen Shot 2020-04-21 at 9.18.29 PM.png

 

OpenJDK is still not supported.

 

Generally you'd do the upgrade from 6.3 to 6.5 on JDK8.

Then it's start AEM with Java11.

 

If you're running into an issue please log a Daycare ticket and provide the logs as well as the everything under /crx-quickstart/conf 

The sling.properties file could have some weird things going on that prevents start up. 

 

Again generally, there's something amiss with the org.osgi.framework.bootdelegation value in the sling.properties.

 

Try : 

org.osgi.framework.bootdelegation=sun.,com.sun.,jdk.internal.reflect,jdk.internal.reflect.*

 

That should clean up these : 

java.lang.NoClassDefFoundError: jdk/internal/reflect/ConstructorAccessorImpl
java.lang.NoClassDefFoundError: jdk/internal/reflect/MethodAccessorImpl

 

 

View solution in original post

3 Replies

Avatar

Correct answer by
Employee

The JDK Downloads are hosted on the Adobe Software Distribution page

https://experience.adobe.com/#/downloads/content/software-distribution/en/general.html

 

Screen Shot 2020-04-21 at 9.18.29 PM.png

 

OpenJDK is still not supported.

 

Generally you'd do the upgrade from 6.3 to 6.5 on JDK8.

Then it's start AEM with Java11.

 

If you're running into an issue please log a Daycare ticket and provide the logs as well as the everything under /crx-quickstart/conf 

The sling.properties file could have some weird things going on that prevents start up. 

 

Again generally, there's something amiss with the org.osgi.framework.bootdelegation value in the sling.properties.

 

Try : 

org.osgi.framework.bootdelegation=sun.,com.sun.,jdk.internal.reflect,jdk.internal.reflect.*

 

That should clean up these : 

java.lang.NoClassDefFoundError: jdk/internal/reflect/ConstructorAccessorImpl
java.lang.NoClassDefFoundError: jdk/internal/reflect/MethodAccessorImpl

 

 

Avatar

Level 1

We are also having the same scenario of AEM6.3 and Java1.8.

Thinking to go for In-Place upgrade with same Java version i.e. 1.8. Is it mandatory to upgrade JDK version also for AEM6.5. Can't we live with JDK1.8?

Kindly suggest....

Avatar

Employee

You can run AEM 6.5 on either Java 11 or Java 8.

 

The merit of the post was to ensure that you're not trying to do the upgrade with Java 11, as that won't work.  The in-place upgrade needs to happen with Java 8.  Then, post-upgrade, you can determine whether to change to Java 11 or stay on Java 8.