W3C home > Mailing lists > Public > public-exi@w3.org > November 2017

Java 9 backwards compatibility requires JDK version 1.6 or later

From: Don Brutzman <brutzman@nps.edu>
Date: Mon, 20 Nov 2017 08:59:41 -0800
To: Takuki Kamiya <tkamiya@us.fujitsu.com>, "Peintner, Daniel (ext)" <daniel.peintner.ext@siemens.com>
CC: "public-exi@w3.org" <public-exi@w3.org>
Message-ID: <e4fc804d-abda-eced-279a-26022272468f@nps.edu>
I received feedback from a user that they cannot use exificient because it is not compatible with Java 9, the new release.

Here is relevant information.

Java Platform, Standard Edition Oracle JDK 9 Migration Guide

Compile Your Application if Needed

Compiling your code with the JDK 9 compiler will ease migration to future releases since the code may depend on APIs and features which have been identified as problematic. However, it is not strictly necessary.

If you use the -source and -target options with javac, then check the values that you use. In JDK 9, javac uses a "one plus three back" policy of supporting -source and -target options.

The supported -source/-target values are 9 (the default), 8, 7, and 6 (6 is deprecated, and a warning is displayed when this value is used).

In JDK 8, -source and -target values of 1.5/5 and earlier were deprecated and caused a warning to be generated. In JDK 9, those values cause an error.

>javac -source 5 -target 5 Sample.java 
warning: [options] bootstrap class path not set in conjunction with -source 1.5
error: Source option 1.5 is no longer supported. Use 1.6 or later.
error: Target option 1.5 is no longer supported. Use 1.6 or later.

I've been able to get EXIficient building and part of an X3D project, X3DJSAIL.  OpenEXI to follow, work in progress.

	X3D Java Scene Access Interface Library (X3DJSAIL): EXI

Daniel I was able to rebuild the gui version with dependencies successfully using -source 1.6, added "-source1.6" to jar manifest's version field, online at

For our X3D projects we have held back from Java 9 because Netbeans IDE is not yet compatible, they are moving it to Apache.  That is a big deal and may take some time but it will land eventually.  I can't do anything that won't work with Java 8 and Netbeans.

     Using Apache NetBeans (incubating) with JDK 9
     September 29, 2017 Geertjan Wielenga

Looks like we should go to source 1.6 as default in each Java library for broadest compatibility.  Meanwhile I won't dive into JDK 9 until Netbeans comes along.

all the best, Don
Don Brutzman  Naval Postgraduate School, Code USW/Br       brutzman@nps.edu
Watkins 270,  MOVES Institute, Monterey CA 93943-5000 USA   +1.831.656.2149
X3D graphics, virtual worlds, navy robotics http://faculty.nps.edu/brutzman
Received on Monday, 20 November 2017 17:01:36 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:47:23 UTC