From e419171d7eb7acf6ad96e124464136d5e319a64a Mon Sep 17 00:00:00 2001 From: Don Brutzman <brutzman@nps.edu> Date: Sat, 29 May 2021 18:01:57 -0700 Subject: [PATCH] openjdk 16.0.1 problems --- developers.html | 48 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 11 deletions(-) diff --git a/developers.html b/developers.html index 726e2aaaf7..e5fe1eb961 100644 --- a/developers.html +++ b/developers.html @@ -27,7 +27,7 @@ </table> <p align="center"> - This developers guide describes system configuration supporting various software projects by the NPS MOVES Savage Research Group. + The Savage Developers Guide describes system configuration supporting various software projects by the NPS MOVES Savage Research Group. <!-- both for client-side and server-side capabilities. --> </p> @@ -837,7 +837,32 @@ Note that the -d switch is necessary for domain users. <p> Java is the primary programming language used in Savage projects. - To configure your development system: + </p> + + <hr /> + <p> + <span style="color:darkorange"><b>Developers warning:</b></span> + OpenJDK <code style="color:darkgreen"><b>jdk-16.0.1</b></code> + + <blockquote> + <a href="https://jdk.java.net/16/release-notes" target="_blank">JDK 16.0.1 Release Notes</a> + describes a significant new strictness in Java handling of reflection. + We have found that this can lead to mysterious showstopper exceptions caused by supporting libraries. + We are currently holding stable at OpenJDK <code style="color:darkgreen"><b>jdk-16</b></code> + until we can implement better application protections. + </blockquote> + <blockquote> + JEP 396: Strongly Encapsulate JDK Internals by Default (JDK-8256299) + <br /> + Strongly encapsulate all internal elements of the JDK by default, except for critical internal APIs such as sun.misc.Unsafe. Allow end users to choose the relaxed strong encapsulation that has been the default since JDK 9. + With this change, the default value of the launcher option --illegal-access is now deny rather than permit. As a consequence, existing code that uses most internal classes, methods, or fields of the JDK will fail to run. Such code can be made to run on JDK 16 by specifying --illegal-access=permit. That option will, however, be removed in a future release. + For further details, please see JEP 396. + </blockquote> + </p> + <hr /> + + <p> + To configure Java on your development system: </p> <ul> @@ -851,14 +876,14 @@ Note that the -d switch is necessary for domain users. which does not need to be installed separately. </li> <li> - OpenJDK <code style="color:darkgreen"><b>jdk-16.0.1</b></code> - is default Java version for Savage projects, used - under a - <a href="https://openjdk.java.net/legal/gplv2+ce.html" target="_blank">non-viral open-source license</a>. + OpenJDK <code style="color:darkgreen"><b>jdk-16</b></code> + is default Java version for Savage projects, used + under a + <a href="https://openjdk.java.net/legal/gplv2+ce.html" target="_blank">non-viral open-source license</a>. </li> <li> Oracle - <code style="color:darkgreen"><b>jdk-16.0.1</b></code> + <code style="color:darkgreen"><b>jdk-16</b></code> and <code style="color:darkgreen"><b>jdk1.8.0_221</b></code> are alternative Java versions used in current development. @@ -877,7 +902,7 @@ Note that the -d switch is necessary for domain users. or --> <br /> - <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\openjdk\jdk-16.0.1</b></code> # OpenJDK + <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\openjdk\jdk-16</b></code> # OpenJDK <br /> <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\jdk-14</b></code> # Oracle JDK <br /> @@ -888,7 +913,8 @@ Note that the -d switch is necessary for domain users. <code style="color:darkgreen"><b>PATH=.;%JAVA_HOME%\bin;%ANT_HOME%\bin;</b></code> </li> <li> - <span style="color:darkorange"><b>Developers warning:</b></span> ensure that external or automatic installation of Java JRE does not prepend a different Java PATH value, + <span style="color:darkorange"><b>Developers warning:</b></span> + ensure that external or automatic installation of Java JRE does not prepend a different Java PATH value, effectively overriding the intended developmental JDK of interest. </li> <li> @@ -1581,7 +1607,7 @@ need to be connected to the NPS intranet. by changing menu <i>Tools > Java Platforms</i> and also <code style="color:darkgreen"><b>netbeans.conf</b></code> property - <code>netbeans_jdkhome="C:\Program Files\Java\openjdk\jdk-16.0.1"</code> + <code>netbeans_jdkhome="C:\Program Files\Java\openjdk\jdk-16"</code> (for example). </li> <li> @@ -3038,7 +3064,7 @@ which can lead to the Internet of Things becoming the Web of Things. </i> <a href="https://savage.nps.edu/developers.html">https://savage.nps.edu/developers.html</a> </blockquote> <blockquote> - Revised 22 May 2021. + Revised 29 May 2021. </blockquote> <p> -- GitLab