X

Proactive insights, news and tips from Oracle WebLogic Server Support. Learn Oracle from Oracle.

WebLogic Server and Java SE 9

Stephen Felts
Manager

The latest WebLogic Server release 12.2.1.3.0 is now available as of August 30, 2017 and you can download it at http://www.oracle.com/technetwork/middleware/fusion-middleware/downloads/index.html .  See https://blogs.oracle.com/weblogicserver/weblogic-server-12213-is-available for more information on the new release.  Java SE 9 became available on September 21, 2017 and it’s available at www.oracle.com/javadownload.  Details about the features included in this release can be found on the OpenJDK  JDK 9  page: http://openjdk.java.net/projects/jdk9/.  While we have been working on WLS support for JDK 9 for 3.5 years, it was clear early on that the schedules would not align.  Although not certified, you should get pretty far running 12.2.1.3 on JDK9.

Start by installing JDK9 somewhere convenient and setting your environment appropriately.

export JAVA_HOME=/dir/jdk-9
export PATH="$JAVA_HOME/bin:$PATH"

Then install the new WLS release and ignore the following warnings.

jar xf fmw_12.2.1.3.0_wls_Disk1_1of1.zip fmw_12.2.1.3.0_wls.jar
java -jar fmw_12.2.1.3.0_wls.jar

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector (file:/home/user/OraInstall2017-09-11_11-27-52AM/oracle_common/modules/com.sun.xml.bind.jaxb-impl.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

Problem: This JDK version was not certified at the time it was made generally available. It may have been certified following general availability.
Recommendation: Check the Supported System Configurations Guide (http://www.oracle.com/technetwork/middleware/ias/downloads/fusion-certification-100350.html) for further details. Press "Next" if you wish to continue.
Expected result: 1.8.0_131
Actual result: 9

The illegal reflective access warnings are coming from code that has been updated to work on JDK9 but the logic checks if the JDK8 approach works first.  The warnings will go away when the default is (or you run explicitly with)  --illegal-access=deny.

You will see these benign warnings from the following known list.

org.python.core.PyJavaClass
com.oracle.classloader.PolicyClassLoader$3
weblogic.utils.StackTraceUtilsClient  
com.sun.xml.bind.v2.runtime.reflect.opt.Injector
com.sun.xml.ws.model.Injector
net.sf.cglib.core.ReflectUtils$
com.oracle.common.internal.net.InterruptibleChannels
com.oracle.common.internal.net.WrapperSelector
com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.ClusterService
com.tangosol.util.ClassHelper
weblogic.utils.io.ObjectStreamClass

If you see other warnings, they might need to be reported to the owner.

There are a lot of behavior changes in JDK9.  We have done as much as possible to hide them.  In particular, command lines should continue to run without any changes. 

You can set the environment using the standard

. wlserver/server/bin/setWLSEnv.sh

The most popular commands are

java weblogic.Server   - create a domain in an empty directory and start the server

java weblogic.WLST myscript.py – run a WLST script using Jython

WLS 12.2.1.3.0 is now providing the Java EE classes that are hidden by default in JDK9.  Do not use the JDK9 command line option --add-modules java.se.ee or add any of the individual modules.  WLS is not doing anything to make use of or integrate with the new JDK9 module features. 

There are many changes in JDK9 and it’s likely that you will require some changes in your application.  See https://docs.oracle.com/javase/9/migrate/toc.htm as a good starting place to review potential changes.

Having said all of that, JDK9 is not a Long Term Support release.  Support ends in March 2018 when 18.3 is released and the next Long Term Support release isn't until 18.9 in September 2018.  That means that WebLogic Server won't be certified on JDK9 and the next release to be certified won't be until after September 2018.  Customer support won't be taking bug reports on JDK9.  This article indicates progress on the JDK upgrade front and gives you a hint that you can try playing with WLS and JDK9 starting with release 12.2.1.3.0 (and not earlier releases).

Remember that JDK 8 will continue to be supported until 2025.

Notes:

The WLS installer (GUI or CLI) must be launched from a bash (or bash compatible like ksh) shell.

WLS will not boot on JDK 10 or later, due to libraries not recognizing the new version number.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.Captcha
Oracle

Integrated Cloud Applications & Platform Services