I thought that some text about the status of Jena and Java9 would be
useful to users@ to state the current state. This could go in the 3.7.0
release notes.
Andy
DRAFT:: For discussion
-----------------------------
Java8 is the current LTS version of Java and receives security updates.
The next LTS is Java11. [Sched]
[Sched] http://www.oracle.com/technetwork/java/eol-135779.html
There are different cases for running with Java9:
[1] Run on a Java9 JVM
[2] Build using Java9 JDK, output Java8 classfiles.
[3] Java9 required - language features and runtime library
[4] Java9 modules
[1] at Jena 3.7.0, running with a Java9 platform (except as noted below)
is supported.
[2] at Jena 3.7.0, running maven using Java9 to produce Java8 bytecode
is supported (expect as noted). We now run a Jenkins job daily to check
this for the main jars.
[3] The project has no current plans to require a Java9 language
runtime. The language requirement is still Java8.
[4] Jena jars can work as automatic modules but Jena itself does not
provide a "modules" version. Proper migration needs all the dependencies
to be modules, and also has implications on the upstream. Contribution
and discussions are welcome!
For discussion and background see
[A] http://blog.joda.org/2017/05/java-se-9-jpms-automatic-modules.html
[B] http://blog.joda.org/2017/04/java-se-9-jpms-module-naming.html
And note: Java 9 is obsolete March 2018, as soon as java10 comes out.
http://openjdk.java.net/projects/jdk/10/#Schedule
Notes:
jena-elephas depends on Hadoop that depends on jdk.tools that is not
available in Java9.