Abstract
We recently switched to Java 11 with Adobe Experience Manager 6.5 for some of our customers and ran into several issues especially with environment stability. This post outlines some of the items you need to be aware of and address when using Java 11 with Adobe Experience Manager.
I’ve organized this post into a short version and a long version. If you’ve already done all the work of updating your pom, dependencies, compiler, plugins, to work with Java 11 but, having environment issues only, the Short version below outlines quick steps that you can take to ensure your Adobe Experience Manager instance is stable after builds and deploys.
The Longer version in this article walks through all the things you need to take care of when using Java 11 with Adobe Experience Manager in more detail.
The Short Version
The short answer to get these JDK11 and Adobe Experience Manager issues resolved to ensure a stable enviroment – make the following changes:
Update sling.properties
Go to /crx-quickstart/conf/sling.properties and update the extra packages & boot delegation to below
org.osgi.framework.system.packages.extra=org.apache.sling.launchpad.api;version=1.2.0,com.sun.org.apache.xpath.internal;version="{dollar}{felix.detect.java.version}" ${org.apache.sling.launcher.system.packages}
org.osgi.framework.bootdelegation=sun.*,com.sun.*,jdk.internal.reflect,jdk.internal.reflect.*
Update your AEM Startup script to include following JVM options
-XX:+UseParallelGC
-Dnashorn.args=--no-deprecation-warning
--add-opens=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.jrt=ALL-UNNAMED
--add-opens=java.naming/javax.naming.spi=ALL-UNNAMED
--add-opens=java.xml/com.sun.org.apache.xerces.internal.dom=ALL-UNNAMED
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/jdk.internal.loader=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
The Long Version
With the introduction of JDK11 you need to account for a few things outlined below
Update your compiler, to make sure you are compiling for Java 11
This can potentially be done by simply updating your properties in your maven pom.xmls
11
${java.version}
${java.version}
Read Full Blog
Q&A
Please use this thread to ask the related questions.
Kautuk Sahni