diff --git a/developers.html b/developers.html index 444694e979936ea6e21eb919d6ea4e4fb63260a2..dc86b591504e3a3fab08a318dabbcaa51d34a95d 100644 --- a/developers.html +++ b/developers.html @@ -804,32 +804,38 @@ 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> <ul> <li> Download and install the latest + <a href="https://jdk.java.net/12" target="_blank">OpenJDK Java Development Kit (JDK)</a>. + or <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java Development Kit (JDK)</a>. - This installation also includes the + These installations also include the Java Runtime Environment (JRE), which does not need to be installed separately. </li> <li> - Default Java version used in Savage projects is - <code style="color:darkgreen"><b>jdk1.8.0_212</b></code> + OpenJDK <code style="color:darkgreen"><b>jdk-12.0.2</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-12.0.2</b></code> + and + <code style="color:darkgreen"><b>jdk1.8.0_221</b></code> + are alternative Java versions used in current development. + These are tested under "Development Use" permitted by the + <a href="https://www.oracle.com/downloads/licenses/javase-license1.html" target="_blank">Oracle JDK license</a>. </li> - <ul> - <li> - Alternative Java version used in current development is - <code style="color:darkgreen"><b>jdk-12.0.1</b></code> - with future work including - <code style="color:darkgreen"><b>OpenJDK</b></code> - </li> - </ul> <li> Verify that the system environment variables - are set appropriately. Example: + are set appropriately. For example, one value for <code>JAVA_HOME</code> such as <!-- <br /> <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\jdk1.7.0_55</b></code> @@ -837,27 +843,46 @@ Note that the -d switch is necessary for domain users. or --> <br /> - <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\jdk1.8.0_212</b></code> + <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\openjdk\jdk-12.0.2</b></code> <br /> - <code style="color:darkgreen"><b> PATH=.;%JAVA_HOME%\bin;;%ANT_HOME%\bin;</b></code> - (usually inserted at the beginning of an existing PATH, if it already exists) + <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\jdk-12.0.2</b></code> + <br /> + <code style="color:darkgreen"><b>JAVA_HOME=C:\Program Files\Java\jdk1.8.0_221</b></code> + <br /> + and (usually inserted at the beginning of an existing PATH, if it already exists) + <br /> + <code style="color:darkgreen"><b>PATH=.;%JAVA_HOME%\bin;%ANT_HOME%\bin;</b></code> </li> - <li>Test what version of Java is installed for your operating system via console command line. Examples: - + <li>Test what version of Java is actually installed and configured for your operating system via console command line. Examples: + <ul> + <li> <pre> -<b>$ java -version</b> +$<b> java -version</b> # OpenJDK 12 -java version "1.8.0_221" -Java(TM) SE Runtime Environment (build 1.8.0_221-b11) -Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode) +openjdk version "12.0.2" 2019-07-16 +OpenJDK Runtime Environment (build 12.0.2+10) +OpenJDK 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing) </pre> + </li> + <li> <pre> -<b>$ java -version</b> +$<b> java -version</b> # Oracle JDK 12 java version "12.0.2" 2019-07-16 Java(TM) SE Runtime Environment (build 12.0.2+10) Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing) </pre> + </li> + <li> + <pre> +$<b> java -version</b> # Oracle JDK 8 + +java version "1.8.0_221" +Java(TM) SE Runtime Environment (build 1.8.0_221-b11) +Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode) +</pre> + </li> + </ul> </li> <li> <!-- @@ -865,26 +890,22 @@ Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing) <a href="http://docs.oracle.com/javase/7/docs/api">Java 7 Javadoc</a> or --> + <a href="https://docs.oracle.com/en/java/javase/12/" target="_blank">Java 12 Javadoc</a> + and <a href="http://docs.oracle.com/javase/8/docs/api" target="_blank">Java 8 Javadoc</a> - is available on the - <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java downloads</a> page. - Extract the <code style="color:darkgreen"><b>docs</b></code> directory tree provided by the .zip to the directory containing Java. - </li> - <li> - <a href="http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html">Javadoc Tool</a> - page provides guidance on how to write correct, effective Java document. - </li> - <li> - You can also visit the - <a href="http://www.java.com/en/download/installed.jsp" target="_blank">Verify Java Version</a> - page, which detects which version of Java is installed in your Web browser. - This may be a different version (for example, JRE version 1.7.*) without interfering with the command-line PATH version. - </li> - <li> - If desired, developers can choose among multiple versions of Java platforms in NetBeans - via the menu Tools > Java Platforms. Over years of practice, we earlier - found it best to only install a single version of Java on each machine to avoid configuration collisions. + are available on the + <a href="https://www.oracle.com/technetwork/java/javase/downloads/index.html" target="_blank">Java downloads</a> page. + Extract the <code style="color:darkgreen"><b>docs</b></code> directory tree provided by the .zip + into the directory containing the corresponding version of Java. </li> + <ul> + <li> + (Note that) + <a href="https://docs.oracle.com/en/java/javase/12/" target="_blank">OpenJDK Java 12 Javadoc</a> + directs to the same javadoc as Oracle Javadoc.) + + </li> + </ul> <li> For JDK 1.8 (but not later), <a href="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html">Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download</a> @@ -893,7 +914,7 @@ Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing) <ul> <li> Extract the contents (including README.txt) for inclusion in the JDK development build, for example <br /> - <code style="color:darkgreen"><b>C:\Program Files\Java\jdk1.8.0_192\jre\lib\security</b></code></li> + <code style="color:darkgreen"><b>C:\Program Files\Java\jdk1.8.0_221\jre\lib\security</b></code></li> <li> <a href="http://download.oracle.com/javase/8/docs/technotes/guides/security">Java(TM) Cryptography Architecture (JCA) Reference Guide</a> </li> @@ -903,6 +924,32 @@ Java HotSpot(TM) 64-Bit Server VM (build 12.0.2+10, mixed mode, sharing) </li> </ul> </li> + <li> + Be sure to similarly configure + <a href="#Ant">Ant</a> and + <a href="#Netbeans">Netbeans</a> + as appropriate. + </li> + </ul> + + <p>Additional Java resources:</p> + <ul> + <li> + <a href="http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html">Javadoc Tool</a> + page provides guidance on how to write correct, effective Java documentation. + </li> + <li> + You can also visit the + <a href="http://www.java.com/en/download/installed.jsp" target="_blank">Verify Java Version</a> + page, which detects which version of Java is installed in your Web browser. + This may be a different version (for example, JRE version 1.7.*) + without interfering with the command-line PATH version used for development. + </li> + <li> + If desired, developers can choose among multiple versions of Java platforms in NetBeans + via the menu Tools > Java Platforms. Over years of practice, we earlier + found it best to only install a single version of Java on each machine to avoid configuration collisions. + </li> <li>Style guides <ul> <li> @@ -1501,7 +1548,7 @@ need to be connected to the NPS intranet. Add the new java installation in Netbeans via <i>Tools, Java Platforms</i> menu </li> - <li> + <li>s Set the new java version in each Project Properties </li> <li> @@ -1515,10 +1562,10 @@ need to be connected to the NPS intranet. <br /> by changing <pre> -netbeans_jdkhome="C:\Program Files (x86)\Java\jdk1.8.0_192"</pre> +netbeans_jdkhome="C:\Program Files (x86)\Java\jdk1.8.0_221"</pre> to remove the <b>(x86)</b> as follows: <pre> -netbeans_jdkhome="C:\Program Files\Java\jdk1.8.0_192"</pre> +netbeans_jdkhome="C:\Program Files\Java\jdk1.8.0_221"</pre> <p> Similarly Java Platform settings can be edited in <br />