You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2021/07/28 16:46:18 UTC

[tomcat] branch main updated: Remove more Java 9+ references

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/main by this push:
     new 15220d8  Remove more Java 9+ references
15220d8 is described below

commit 15220d8df73754dcf45ddbab206cadece4644dcb
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jul 28 17:46:07 2021 +0100

    Remove more Java 9+ references
---
 bin/service.bat                                          |  6 ------
 conf/catalina.policy                                     |  9 ++++-----
 java/jakarta/el/ELProcessor.java                         |  2 +-
 java/jakarta/el/LocalStrings.properties                  |  4 ++--
 java/org/apache/catalina/core/StandardContext.java       |  4 ++--
 java/org/apache/catalina/loader/LocalStrings.properties  |  6 +++---
 .../apache/catalina/loader/WebappClassLoaderBase.java    |  4 ++--
 java/org/apache/jasper/compiler/Generator.java           |  2 +-
 .../apache/tomcat/util/compat/LocalStrings.properties    |  2 --
 .../apache/tomcat/util/compat/LocalStrings_cs.properties | 16 ----------------
 .../apache/tomcat/util/compat/LocalStrings_de.properties | 16 ----------------
 .../apache/tomcat/util/compat/LocalStrings_es.properties | 16 ----------------
 .../apache/tomcat/util/compat/LocalStrings_fr.properties |  2 --
 .../apache/tomcat/util/compat/LocalStrings_ja.properties |  2 --
 .../apache/tomcat/util/compat/LocalStrings_ko.properties |  2 --
 .../tomcat/util/compat/LocalStrings_pt_BR.properties     | 16 ----------------
 .../tomcat/util/compat/LocalStrings_zh_CN.properties     |  4 ----
 java/org/apache/tomcat/websocket/server/WsSci.java       |  2 +-
 .../group/interceptors/TestEncryptInterceptor.java       |  2 +-
 test/org/apache/jasper/compiler/TestGenerator.java       |  2 +-
 webapps/docs/class-loader-howto.xml                      |  4 ++--
 webapps/docs/config/context.xml                          | 13 ++++++-------
 webapps/docs/setup.xml                                   | 12 +++---------
 23 files changed, 29 insertions(+), 119 deletions(-)

diff --git a/bin/service.bat b/bin/service.bat
index e54a70e..fae7920 100755
--- a/bin/service.bat
+++ b/bin/service.bat
@@ -113,16 +113,10 @@ if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome
 goto okJavaHome
 :gotJdkHome
 if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
-rem Java 9 has a different directory structure
-if exist "%JAVA_HOME%\jre\bin\java.exe" goto preJava9Layout
 if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
 if not "%JRE_HOME%" == "" goto okJavaHome
 set "JRE_HOME=%JAVA_HOME%"
 goto okJavaHome
-:preJava9Layout
-if not "%JRE_HOME%" == "" goto okJavaHome
-set "JRE_HOME=%JAVA_HOME%\jre"
-goto okJavaHome
 :noJavaHome
 echo The JAVA_HOME environment variable is not defined correctly
 echo This environment variable is needed to run this program
diff --git a/conf/catalina.policy b/conf/catalina.policy
index 91b7c83..d40cb1c 100644
--- a/conf/catalina.policy
+++ b/conf/catalina.policy
@@ -50,11 +50,10 @@ grant codeBase "file:${java.home}/lib/ext/-" {
         permission java.security.AllPermission;
 };
 
-// This permission is required when using javac to compile JSPs on Java 9
-// onwards
-//grant codeBase "jrt:/jdk.compiler" {
-//        permission java.security.AllPermission;
-//};
+// This permission is required when using javac to compile JSPs
+grant codeBase "jrt:/jdk.compiler" {
+        permission java.security.AllPermission;
+};
 
 
 // ========== CATALINA CODE PERMISSIONS =======================================
diff --git a/java/jakarta/el/ELProcessor.java b/java/jakarta/el/ELProcessor.java
index 107bd23..736ca9c 100644
--- a/java/jakarta/el/ELProcessor.java
+++ b/java/jakarta/el/ELProcessor.java
@@ -111,7 +111,7 @@ public class ELProcessor {
             function = sig.getName();
         }
 
-        // Only returns public methods. Java 9+ access is checked below.
+        // Only returns public methods. Module access is checked below.
         Method methods[] = clazz.getMethods();
 
         for (Method method : methods) {
diff --git a/java/jakarta/el/LocalStrings.properties b/java/jakarta/el/LocalStrings.properties
index cead8de..2d3f492 100644
--- a/java/jakarta/el/LocalStrings.properties
+++ b/java/jakarta/el/LocalStrings.properties
@@ -29,7 +29,7 @@ expressionFactory.readFailed=Failed to read [{0}]
 importHandler.ambiguousImport=The class [{0}] could not be imported as it conflicts with [{1}] which has already been imported
 importHandler.ambiguousStaticImport=The static import [{0}] could not be processed as it conflicts with [{1}] which has already been imported
 importHandler.classNotFound=The class [{0}] could not be imported as it could not be found
-importHandler.invalidClass=The class [{0}] must be public, in an exported package (for Java 9+), non-abstract and not an interface
+importHandler.invalidClass=The class [{0}] must be public, in an exported package, non-abstract and not an interface
 importHandler.invalidClassName=Name of class to import [{0}] must include a package
 importHandler.invalidClassNameForStatic=The class [{0}] specified for static import [{1}] is not valid
 importHandler.invalidStaticName=Name of static method or field to import [{0}] must include a class
@@ -45,7 +45,7 @@ propertyReadError=Error reading [{1}] on type [{0}]
 propertyWriteError=Error writing [{1}] on type [{0}]
 
 staticFieldELResolver.methodNotFound=No matching public static method named [{0}] found on class [{1}]
-staticFieldELResolver.notFound=No public static field named [{0}] was found on (exported for Java 9+) class [{1}]
+staticFieldELResolver.notFound=No public static field named [{0}] was found on exported class [{1}]
 staticFieldELResolver.notWriteable=Writing to static fields (in this case field [{0}] on class [{1}]) is not permitted
 
 util.method.ambiguous=Unable to find unambiguous method: {0}.{1}({2})
diff --git a/java/org/apache/catalina/core/StandardContext.java b/java/org/apache/catalina/core/StandardContext.java
index a12ed93..abdfced 100644
--- a/java/org/apache/catalina/core/StandardContext.java
+++ b/java/org/apache/catalina/core/StandardContext.java
@@ -698,8 +698,8 @@ public class StandardContext extends ContainerBase
 
     /**
      * Enables the RMI Target memory leak detection to be controlled. This is
-     * necessary since the detection can only work on Java 9 if some of the
-     * modularity checks are disabled.
+     * necessary since the detection can only work  if some of the modularity
+     * checks are disabled.
      */
     private boolean clearReferencesRmiTargets = true;
 
diff --git a/java/org/apache/catalina/loader/LocalStrings.properties b/java/org/apache/catalina/loader/LocalStrings.properties
index 521c90f..cb6e4a5 100644
--- a/java/org/apache/catalina/loader/LocalStrings.properties
+++ b/java/org/apache/catalina/loader/LocalStrings.properties
@@ -13,9 +13,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-webappClassLoader.addExportsJavaIo=When running on Java 9 or later you need to add "--add-opens=java.base/java.io={0}" to the JVM command line arguments to enable ObjectStream cache memory leak protection. Alternatively, you can suppress this warning by disabling ObjectStream class cache memory leak protection.
-webappClassLoader.addExportsRmi=When running on Java 9 or later you need to add "--add-opens=java.rmi/sun.rmi.transport={0}" to the JVM command line arguments to enable RMI Target memory leak detection. Alternatively, you can suppress this warning by disabling RMI Target memory leak detection.
-webappClassLoader.addExportsThreadLocal=When running on Java 9 or later you need to add "--add-opens=java.base/java.lang={0}" to the JVM command line arguments to enable ThreadLocal memory leak detection. Alternatively, you can suppress this warning by disabling ThreadLocal memory leak detection.
+webappClassLoader.addExportsJavaIo=You need to add "--add-opens=java.base/java.io={0}" to the JVM command line arguments to enable ObjectStream cache memory leak protection. Alternatively, you can suppress this warning by disabling ObjectStream class cache memory leak protection.
+webappClassLoader.addExportsRmi=You need to add "--add-opens=java.rmi/sun.rmi.transport={0}" to the JVM command line arguments to enable RMI Target memory leak detection. Alternatively, you can suppress this warning by disabling RMI Target memory leak detection.
+webappClassLoader.addExportsThreadLocalYou need to add "--add-opens=java.base/java.lang={0}" to the JVM command line arguments to enable ThreadLocal memory leak detection. Alternatively, you can suppress this warning by disabling ThreadLocal memory leak detection.
 webappClassLoader.addPermissionNoCanonicalFile=Unable to obtain a canonical file path from the URL [{0}]
 webappClassLoader.addPermissionNoProtocol=The protocol [{0}] in the URL [{1}] is not supported so no read permission was granted for resources located at this URL
 webappClassLoader.addTransformer=Added class file transformer [{0}] to web application [{1}].
diff --git a/java/org/apache/catalina/loader/WebappClassLoaderBase.java b/java/org/apache/catalina/loader/WebappClassLoaderBase.java
index b082861..12ca9ab 100644
--- a/java/org/apache/catalina/loader/WebappClassLoaderBase.java
+++ b/java/org/apache/catalina/loader/WebappClassLoaderBase.java
@@ -338,8 +338,8 @@ public abstract class WebappClassLoaderBase extends URLClassLoader
 
     /**
      * Enables the RMI Target memory leak detection to be controlled. This is
-     * necessary since the detection can only work on Java 9 if some of the
-     * modularity checks are disabled.
+     * necessary since the detection can only work if some of the modularity
+     * checks are disabled.
      */
     private boolean clearReferencesRmiTargets = true;
 
diff --git a/java/org/apache/jasper/compiler/Generator.java b/java/org/apache/jasper/compiler/Generator.java
index 1186c37..7c35a3d 100644
--- a/java/org/apache/jasper/compiler/Generator.java
+++ b/java/org/apache/jasper/compiler/Generator.java
@@ -1347,7 +1347,7 @@ class Generator {
                     // Check that there is a 0 arg constructor
                     Constructor<?> constructor = bean.getConstructor(new Class[] {});
                     // Check the bean is public, not an interface, not abstract
-                    // and (for Java 9+) in an exported module
+                    // and in an exported module
                     int modifiers = bean.getModifiers();
                     // No need to test for being an interface here as the
                     // getConstructor() call above will have already failed for
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings.properties b/java/org/apache/tomcat/util/compat/LocalStrings.properties
index b931c34..9cf1b5c 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings.properties
@@ -16,6 +16,4 @@
 jre16Compat.javaPre16=Class not found so assuming code is running on a pre-Java 16 JVM
 jre16Compat.unexpected=Failed to create references to Java 16 classes and methods
 
-jreCompat.noApplicationProtocol=Java Runtime does not support SSLEngine.getApplicationProtocol(). You must use Java 9 to use this feature.
-jreCompat.noApplicationProtocols=Java Runtime does not support SSLParameters.setApplicationProtocols(). You must use Java 9 to use this feature.
 jreCompat.noUnixDomainSocket=Java Runtime does not support Unix domain sockets. You must use Java 16 to use this feature.
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_cs.properties b/java/org/apache/tomcat/util/compat/LocalStrings_cs.properties
deleted file mode 100644
index 2ad0caf..0000000
--- a/java/org/apache/tomcat/util/compat/LocalStrings_cs.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-jreCompat.noApplicationProtocol=Java Runtime nepodporuje SSLEngine.getApplicationProtocol(). Pro použití této vlastnosti je vyžadována Java 9.
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_de.properties b/java/org/apache/tomcat/util/compat/LocalStrings_de.properties
deleted file mode 100644
index 026960f..0000000
--- a/java/org/apache/tomcat/util/compat/LocalStrings_de.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-jreCompat.noApplicationProtocol=Die Java Runtime unterstützt nicht den SSLEngine.getApplicationProtocol() Aufruf. Um dieses Feature nutzen zu können muss Java 9 verwendet werden.
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_es.properties b/java/org/apache/tomcat/util/compat/LocalStrings_es.properties
deleted file mode 100644
index 73f3ca3..0000000
--- a/java/org/apache/tomcat/util/compat/LocalStrings_es.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-jreCompat.noApplicationProtocol=Java Runtime no soporta SSLEngine.getApplicationProtocol(). Se necesita Java 9 para usar esta función.
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties b/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
index 3dca114..3166031 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
@@ -16,6 +16,4 @@
 jre16Compat.javaPre16=Le code est considéré être exécuté sur une JVM antérieure à Java 16 car la classe n'a pas été trouvée
 jre16Compat.unexpected=Impossible de créer les références vers les classes et méthodes de Java 16
 
-jreCompat.noApplicationProtocol=Le Java Runtime utilisé ne supporte pas SSLEngine.getApplicationProtocol(). Il faut Java 9 pour utiliser cette option.
-jreCompat.noApplicationProtocols=L'environnement Java ne supporte pas SSLParameters.setApplicationProtocols(), cette fonctionnalité demande Java 9
 jreCompat.noUnixDomainSocket=L'environnement Java ne supporte pas les sockets de domaine de Unix, cette fonctionnalité demande Java 16
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
index 2da703c..c9e3e57 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
@@ -16,6 +16,4 @@
 jre16Compat.javaPre16=クラスが見つからないため、コードがJava 16より前のJVMで実行されていると仮定します
 jre16Compat.unexpected=Java16クラスおよびメソッドへの参照の作成に失敗しました
 
-jreCompat.noApplicationProtocol=Java 実行環境が SSLEngine.getApplicationProtocol() に対応していません。Java 9 以降で実行する必要があります。
-jreCompat.noApplicationProtocols=Java 実行環境はSSLParameters.setApplicationProtocols()をサポートしていません。 この機能を使用するには、Java 9以降を使用する必要があります。
 jreCompat.noUnixDomainSocket=JavaランタイムはUnixドメインソケットをサポートしていません。 この機能を使用するには、Java16を使用する必要があります。
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties b/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties
index 77a0c79..8f15320 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_ko.properties
@@ -16,6 +16,4 @@
 jre16Compat.javaPre16=클래스가 발견되지 않습니다. 자바 16 이전의 JVM에서 실행 중인 것으로 보입니다.
 jre16Compat.unexpected=자바 16 클래스들과 메소드들을 참조할 수 없습니다.
 
-jreCompat.noApplicationProtocol=자바 런타임이 SSLEngine.getApplicationProtocol()을 지원하지 않습니다. 이 기능을 사용하려면 Java 9를 사용해야 합니다.
-jreCompat.noApplicationProtocols=자바 런타임이 SSLParameters.setApplicationProtocols()을 지원하지 않습니다. 이 기능을 사용하려면 Java 9를 사용해야 합니다.
 jreCompat.noUnixDomainSocket=자바 런타임이 Unix 도메인 소켓을 지원하지 않습니다. 이 기능을 사용하려면 자바 16을 사용해야 합니다.
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_pt_BR.properties b/java/org/apache/tomcat/util/compat/LocalStrings_pt_BR.properties
deleted file mode 100644
index aafa634..0000000
--- a/java/org/apache/tomcat/util/compat/LocalStrings_pt_BR.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-jreCompat.noApplicationProtocol=O runtime do Java não suporta SSLEngine.getApplicationProtocol(). Você precisa do Java 9 para usar este recurso
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties b/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
index 68d8f56..d916aaf 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_zh_CN.properties
@@ -16,8 +16,4 @@
 jre16Compat.javaPre16=类未找到,因此假设代码在Java16之前的JVM上运行
 jre16Compat.unexpected=无法创建对Java16中类和方法的引用
 
-jre9Compat.unexpected=创建对Java 9类的依赖和方法失败
-
-jreCompat.noApplicationProtocol=Java 运行时不支持 SSLEngine.getApplicationProtocol()。要使用该功能你必须使用 Java 9。
-jreCompat.noApplicationProtocols=Java Runtime不支持SSLParamerters.setApplicationProtocols(),必须使用Java 9才能使用这个特性。
 jreCompat.noUnixDomainSocket=Java运行环境不支持Unix域名套接字。你必须使用Java16来运行该特性。
diff --git a/java/org/apache/tomcat/websocket/server/WsSci.java b/java/org/apache/tomcat/websocket/server/WsSci.java
index 8b07ce3..9e7e063 100644
--- a/java/org/apache/tomcat/websocket/server/WsSci.java
+++ b/java/org/apache/tomcat/websocket/server/WsSci.java
@@ -66,7 +66,7 @@ public class WsSci implements ServletContainerInitializer {
                         Modifier.isInterface(modifiers) ||
                         isExported(clazz)) {
                     // Non-public, abstract, interface or not in an exported
-                    // package (Java 9+) - skip it.
+                    // package - skip it.
                     continue;
                 }
                 // Protect against scanning the WebSocket API JARs
diff --git a/test/org/apache/catalina/tribes/group/interceptors/TestEncryptInterceptor.java b/test/org/apache/catalina/tribes/group/interceptors/TestEncryptInterceptor.java
index 753aaa5..0bd282b 100644
--- a/test/org/apache/catalina/tribes/group/interceptors/TestEncryptInterceptor.java
+++ b/test/org/apache/catalina/tribes/group/interceptors/TestEncryptInterceptor.java
@@ -72,7 +72,7 @@ public class TestEncryptInterceptor {
     @BeforeClass
     public static void setupClass() {
         Security.setProperty("jdk.tls.disabledAlgorithms", "");
-        Security.setProperty("crypto.policy", "unlimited"); // For Java 9+
+        Security.setProperty("crypto.policy", "unlimited");
     }
 
     @AfterClass
diff --git a/test/org/apache/jasper/compiler/TestGenerator.java b/test/org/apache/jasper/compiler/TestGenerator.java
index 4cbaf2b..baeb808 100644
--- a/test/org/apache/jasper/compiler/TestGenerator.java
+++ b/test/org/apache/jasper/compiler/TestGenerator.java
@@ -819,7 +819,7 @@ public class TestGenerator extends TomcatBaseTest {
     public void testUseBean05() throws Exception {
         // Whether this test passes or fails depends on the Java version used
         // and the JRE settings.
-        // For the test to pass use Java 9+ with --illegal-access=deny
+        // For the test to pass use --illegal-access=deny
         doTestJsp("usebean-05.jsp", HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
     }
 
diff --git a/webapps/docs/class-loader-howto.xml b/webapps/docs/class-loader-howto.xml
index c2d7c2c..bfa83cb 100644
--- a/webapps/docs/class-loader-howto.xml
+++ b/webapps/docs/class-loader-howto.xml
@@ -179,7 +179,7 @@ this class loader will look in the local repositories <strong>first</strong>,
 instead of delegating before looking.  There are exceptions. Classes which are
 part of the JRE base classes cannot be overridden. There are some exceptions
 such as the XML parser components which can be overridden using the upgradeable
-modules feature for Java 9+.
+modules feature.
 Lastly, the web application class loader will always delegate first for Jakarta
 EE API classes for the specifications implemented by Tomcat
 (Servlet, JSP, EL, WebSocket). All other class loaders in Tomcat follow the
@@ -223,7 +223,7 @@ when you are running modern versions of Java, because the usual class loader
 delegation process will always choose the implementation inside the JDK in
 preference to this one.</p>
 
-<p>Java 9+ supports a mechanism called upgradeable modules to allow replacement
+<p>Java supports a mechanism called upgradeable modules to allow replacement
 of APIs created outside of the JCP (i.e. DOM and SAX from W3C).  It can also be
 used to update the XML parser implementation.</p>
 
diff --git a/webapps/docs/config/context.xml b/webapps/docs/config/context.xml
index 0f210df..af1cb84 100644
--- a/webapps/docs/config/context.xml
+++ b/webapps/docs/config/context.xml
@@ -794,19 +794,18 @@
         serialization and clears any <code>SoftReference</code>s it finds. This
         feature uses reflection to identify the <code>SoftReference</code>s and
         therefore requires that the command line option
-        <code>-XaddExports:java.base/java.io=ALL-UNNAMED</code> is set
-        when running on Java 9 and above. If not specified, the default value of
-        <code>true</code> will be used.</p>
+        <code>-XaddExports:java.base/java.io=ALL-UNNAMED</code> is set. If not
+        specified, the default value of <code>true</code> will be used.</p>
       </attribute>
 
       <attribute name="clearReferencesRmiTargets" required="false">
         <p>If <code>true</code>, Tomcat looks for memory leaks associated with
         RMI Targets and clears any it finds. This feature uses reflection to
         identify the leaks and therefore requires that the command line option
-        <code>-XaddExports:java.rmi/sun.rmi.transport=ALL-UNNAMED</code> is set
-        when running on Java 9 and above. Applications without memory leaks
-        should operate correctly with this attribute set to <code>false</code>.
-        If not specified, the default value of <code>true</code> will be used.</p>
+        <code>-XaddExports:java.rmi/sun.rmi.transport=ALL-UNNAMED</code> is set.
+        Applications without memory leaks should operate correctly with this
+        attribute set to <code>false</code>. If not specified, the default value
+        of <code>true</code> will be used.</p>
       </attribute>
 
       <attribute name="clearReferencesStopThreads" required="false">
diff --git a/webapps/docs/setup.xml b/webapps/docs/setup.xml
index 8daf5c1..871420d 100644
--- a/webapps/docs/setup.xml
+++ b/webapps/docs/setup.xml
@@ -151,21 +151,15 @@ cd $CATALINA_HOME
     -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/tomcat-juli.jar \
     -outfile $CATALINA_BASE/logs/catalina.out \
     -errfile $CATALINA_BASE/logs/catalina.err \
+    --add-opens=java.base/java.lang=ALL-UNNAMED \
+    --add-opens=java.base/java.io=ALL-UNNAMED \
+    --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \
     -Dcatalina.home=$CATALINA_HOME \
     -Dcatalina.base=$CATALINA_BASE \
     -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \
     -Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties \
     org.apache.catalina.startup.Bootstrap</source>
 
-    <p>When running on Java 9 you will need to additionally specify the
-    following when starting jsvc to avoid warnings on shutdown.</p>
-<source>...
---add-opens=java.base/java.lang=ALL-UNNAMED \
---add-opens=java.base/java.io=ALL-UNNAMED \
---add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED \
-...
-</source>
-
     <p>You may also need to specify <code>-jvm server</code> if the JVM defaults
        to using a server VM rather than a client VM. This has been observed on
        OSX.</p>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org