[isabelle-dev] Beyond Java 8: 10.0.1 (current) and 11 LTS (Sep-2018)

Makarius makarius at sketis.net
Fri Apr 20 16:20:57 CEST 2018


Oracle has been working quite a while on the post-Java 8 era, with a
reformed release schedule that is more like Ubuntu.

The initial Java 9.0.1 release has already been superseded by Java
10.0.1, see
http://www.oracle.com/technetwork/java/javase/downloads/index.html

I have made some experiments (and updates of Isabelle components) to see
that it mostly works fine. Apart from the included changeset for
Isabelle/a39473b19ee1, it requires settings that imitate an Isabelle
component as follows (e.g. in ISABELLE_HOME_USER/etc/settings):

  ISABELLE_JAVA_PLATFORM="$ISABELLE_PLATFORM64"
  ISABELLE_JDK_HOME="$HOME/lib/jdk/jdk-10.0.1"


More work will be required to update the outer application wrappers
(notably for Mac OS X and Windows), which are important for official
Isabelle releases.

There is also a change in the internal organisation of the JDK: it has
grown considerably in size, but no longer includes a standalone JRE. So
I might have to rethink the JDK bundling with Isabelle, or just impose
more download volume and disk usage on end-users (a few 100 MB).

My present plan is to ship Isabelle2018 (August 2018?) with the
scheduled Java 8 from Jul-2018, and upgrade to Java 11 LTS shortly after
the release in Sep-2018.


	Makarius
-------------- next part --------------
# HG changeset patch
# User wenzelm
# Date 1524232295 -7200
#      Fri Apr 20 15:51:35 2018 +0200
# Node ID 7febd131c896bdd1ce18ae6c093d41fe20e809ca
# Parent  a39473b19ee1ba6bc0629f918915c497fcab7a8c
discontinue java.ext.dirs for jdk-10.0.1;

diff -r a39473b19ee1 -r 7febd131c896 Admin/Linux/Isabelle.run
--- a/Admin/Linux/Isabelle.run	Fri Apr 20 15:40:21 2018 +0200
+++ b/Admin/Linux/Isabelle.run	Fri Apr 20 15:51:35 2018 +0200
@@ -30,7 +30,6 @@
 
 exec "$ISABELLE_HOME/contrib/jdk/x86_64-linux/jre/bin/java" \
   "-Disabelle.root=$ISABELLE_HOME" "${JAVA_OPTIONS[@]}" \
-  "-Djava.ext.dirs=$ISABELLE_HOME/contrib/jdk/x86_64-linux/jre/lib/ext" \
   -classpath "{CLASSPATH}" \
   "-splash:$ISABELLE_HOME/lib/logo/isabelle.gif" \
   isabelle.Main "$@"
diff -r a39473b19ee1 -r 7febd131c896 Admin/MacOS/Info.plist-part2
--- a/Admin/MacOS/Info.plist-part2	Fri Apr 20 15:40:21 2018 +0200
+++ b/Admin/MacOS/Info.plist-part2	Fri Apr 20 15:51:35 2018 +0200
@@ -1,5 +1,4 @@
 <string>-Disabelle.root=$APP_ROOT/Contents/Resources/{ISABELLE_NAME}</string>
-<string>-Djava.ext.dirs=$APP_ROOT/Contents/Resources/{ISABELLE_NAME}/contrib/jdk/x86_64-darwin/Contents/Home/jre/lib/ext</string>
 <string>-Disabelle.app=true</string>
 </array>
 <key>JVMArguments</key>
diff -r a39473b19ee1 -r 7febd131c896 Admin/Windows/launch4j/isabelle.xml
--- a/Admin/Windows/launch4j/isabelle.xml	Fri Apr 20 15:40:21 2018 +0200
+++ b/Admin/Windows/launch4j/isabelle.xml	Fri Apr 20 15:51:35 2018 +0200
@@ -30,7 +30,7 @@
     <maxVersion></maxVersion>
     <jdkPreference>jdkOnly</jdkPreference>
     <runtimeBits>64</runtimeBits>
-    <opt>-Disabelle.root="%EXEDIR%" -Djava.ext.dirs="%EXEDIR%\contrib\jdk\x86_64-windows\jre\lib\ext" -Dcygwin.root="%EXEDIR%\contrib\cygwin"</opt>
+    <opt>-Disabelle.root="%EXEDIR%" -Dcygwin.root="%EXEDIR%\contrib\cygwin"</opt>
   </jre>
   <splash>
     <file>{SPLASH}</file>
diff -r a39473b19ee1 -r 7febd131c896 bin/isabelle_java
--- a/bin/isabelle_java	Fri Apr 20 15:40:21 2018 +0200
+++ b/bin/isabelle_java	Fri Apr 20 15:51:35 2018 +0200
@@ -67,7 +67,6 @@
     unset ISABELLE_HOME
     unset CLASSPATH
     exec "$JAVA_HOME/bin/java" "${JAVA_ARGS[@]}" \
-      "-Djava.ext.dirs=$JAVA_HOME/lib/ext" \
       -classpath "$ISABELLE_CLASSPATH" "$@"
   fi
 }
diff -r a39473b19ee1 -r 7febd131c896 lib/Tools/java
--- a/lib/Tools/java	Fri Apr 20 15:40:21 2018 +0200
+++ b/lib/Tools/java	Fri Apr 20 15:51:35 2018 +0200
@@ -10,5 +10,4 @@
 unset CLASSPATH
 
 isabelle_java java "${JAVA_ARGS[@]}" \
-  "-Djava.ext.dirs=$(platform_path "$ISABELLE_JDK_HOME/jre/lib/ext")" \
   -classpath "$(platform_path "$ISABELLE_CLASSPATH")" "$@"
diff -r a39473b19ee1 -r 7febd131c896 lib/Tools/scala
--- a/lib/Tools/scala	Fri Apr 20 15:40:21 2018 +0200
+++ b/lib/Tools/scala	Fri Apr 20 15:51:35 2018 +0200
@@ -14,5 +14,4 @@
 done
 
 isabelle_scala scala "${SCALA_ARGS[@]}" \
-  "-Djava.ext.dirs=$(platform_path "$ISABELLE_JDK_HOME/jre/lib/ext")" \
   -classpath "$(platform_path "$ISABELLE_CLASSPATH")" "$@"
diff -r a39473b19ee1 -r 7febd131c896 lib/Tools/scalac
--- a/lib/Tools/scalac	Fri Apr 20 15:40:21 2018 +0200
+++ b/lib/Tools/scalac	Fri Apr 20 15:51:35 2018 +0200
@@ -7,5 +7,4 @@
 isabelle_admin_build jars || exit $?
 
 isabelle_scala scalac -Dfile.encoding=UTF-8 \
-  "-Djava.ext.dirs=$(platform_path "$ISABELLE_JDK_HOME/jre/lib/ext")" \
   -classpath "$(platform_path "$ISABELLE_CLASSPATH")" "$@"


More information about the isabelle-dev mailing list