more robust java.ext.dirs: avoid picking up accidental jars from system directories;
--- a/Admin/Linux/Isabelle.run Mon Jan 22 22:45:45 2018 +0100
+++ b/Admin/Linux/Isabelle.run Tue Jan 23 16:37:57 2018 +0100
@@ -34,6 +34,7 @@
exec "$ISABELLE_HOME/contrib/jdk/${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}/jre/bin/java" \
"-Disabelle.root=$ISABELLE_HOME" "${JAVA_OPTIONS[@]}" \
+ "-Djava.ext.dirs=$ISABELLE_HOME/contrib/jdk/${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}/jre/lib/ext" \
-classpath "{CLASSPATH}" \
"-splash:$ISABELLE_HOME/lib/logo/isabelle.gif" \
isabelle.Main "$@"
--- a/Admin/MacOS/Info.plist-part2 Mon Jan 22 22:45:45 2018 +0100
+++ b/Admin/MacOS/Info.plist-part2 Tue Jan 23 16:37:57 2018 +0100
@@ -1,4 +1,5 @@
<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>
--- a/Admin/Windows/launch4j/isabelle.xml Mon Jan 22 22:45:45 2018 +0100
+++ b/Admin/Windows/launch4j/isabelle.xml Tue Jan 23 16:37:57 2018 +0100
@@ -30,7 +30,7 @@
<maxVersion></maxVersion>
<jdkPreference>jdkOnly</jdkPreference>
<runtimeBits>64</runtimeBits>
- <opt>-Disabelle.root="%EXEDIR%" -Dcygwin.root="%EXEDIR%\contrib\cygwin"</opt>
+ <opt>-Disabelle.root="%EXEDIR%" -Djava.ext.dirs="%EXEDIR%\contrib\jdk\x86_64-windows\jre\lib\ext" -Dcygwin.root="%EXEDIR%\contrib\cygwin"</opt>
</jre>
<splash>
<file>{SPLASH}</file>
--- a/bin/isabelle_java Mon Jan 22 22:45:45 2018 +0100
+++ b/bin/isabelle_java Tue Jan 23 16:37:57 2018 +0100
@@ -66,6 +66,8 @@
else
unset ISABELLE_HOME
unset CLASSPATH
- exec "$JAVA_HOME/bin/java" "${JAVA_ARGS[@]}" -classpath "$ISABELLE_CLASSPATH" "$@"
+ exec "$JAVA_HOME/bin/java" "${JAVA_ARGS[@]}" \
+ "-Djava.ext.dirs=$JAVA_HOME/lib/ext" \
+ -classpath "$ISABELLE_CLASSPATH" "$@"
fi
}
--- a/lib/Tools/java Mon Jan 22 22:45:45 2018 +0100
+++ b/lib/Tools/java Tue Jan 23 16:37:57 2018 +0100
@@ -10,4 +10,5 @@
unset CLASSPATH
isabelle_java java "${JAVA_ARGS[@]}" \
+ "-Djava.ext.dirs=$(platform_path "$ISABELLE_JDK_HOME/jre/lib/ext")" \
-classpath "$(platform_path "$ISABELLE_CLASSPATH")" "$@"
--- a/lib/Tools/scala Mon Jan 22 22:45:45 2018 +0100
+++ b/lib/Tools/scala Tue Jan 23 16:37:57 2018 +0100
@@ -14,4 +14,5 @@
done
isabelle_scala scala "${SCALA_ARGS[@]}" \
+ "-Djava.ext.dirs=$(platform_path "$ISABELLE_JDK_HOME/jre/lib/ext")" \
-classpath "$(platform_path "$ISABELLE_CLASSPATH")" "$@"
--- a/lib/Tools/scalac Mon Jan 22 22:45:45 2018 +0100
+++ b/lib/Tools/scalac Tue Jan 23 16:37:57 2018 +0100
@@ -7,5 +7,5 @@
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")" "$@"
-