Index: apache-tomcat-9.0.115-src/conf/tomcat-users.xml
===================================================================
--- apache-tomcat-9.0.115-src.orig/conf/tomcat-users.xml
+++ apache-tomcat-9.0.115-src/conf/tomcat-users.xml
@@ -53,4 +53,14 @@
   <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
   <user username="role1" password="<must-be-changed>" roles="role1"/>
 -->
+
+<!-- <role rolename="admin"/> -->
+<!-- <role rolename="admin-gui"/> -->
+<!-- <role rolename="admin-script"/> -->
+<!-- <role rolename="manager"/> -->
+<!-- <role rolename="manager-gui"/> -->
+<!-- <role rolename="manager-script"/> -->
+<!-- <role rolename="manager-jmx"/> -->
+<!-- <role rolename="manager-status"/> -->
+<!-- <user name="admin" password="adminadmin" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" /> -->
 </tomcat-users>
Index: apache-tomcat-9.0.115-src/java/org/apache/jasper/compiler/JDTCompiler.java
===================================================================
--- apache-tomcat-9.0.115-src.orig/java/org/apache/jasper/compiler/JDTCompiler.java
+++ apache-tomcat-9.0.115-src/java/org/apache/jasper/compiler/JDTCompiler.java
@@ -298,25 +298,25 @@ public class JDTCompiler extends org.apa
             } else if (opt.equals("1.7")) {
                 settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_7);
             } else if (opt.equals("1.8")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_8);
+                settings.put(CompilerOptions.OPTION_Source, "1.8");
                 // Version format changed from Java 9 onwards.
                 // Support old format that was used in EA implementation as well
             } else if (opt.equals("9") || opt.equals("1.9")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_9);
+                settings.put(CompilerOptions.OPTION_Source, "9");
             } else if (opt.equals("10")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_10);
+                settings.put(CompilerOptions.OPTION_Source, "10");
             } else if (opt.equals("11")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_11);
+                settings.put(CompilerOptions.OPTION_Source, "11");
             } else if (opt.equals("12")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_12);
+                settings.put(CompilerOptions.OPTION_Source, "12");
             } else if (opt.equals("13")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_13);
+                settings.put(CompilerOptions.OPTION_Source, "13");
             } else if (opt.equals("14")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_14);
+                settings.put(CompilerOptions.OPTION_Source, "14");
             } else if (opt.equals("15")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_15);
+                settings.put(CompilerOptions.OPTION_Source, "15");
             } else if (opt.equals("16")) {
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_16);
+                settings.put(CompilerOptions.OPTION_Source, "16");
             } else if (opt.equals("17")) {
                 // Constant not available in latest ECJ version that runs on
                 // Java 8.
@@ -364,11 +364,11 @@ public class JDTCompiler extends org.apa
                 settings.put(CompilerOptions.OPTION_Source, "25");
             } else {
                 log.warn(Localizer.getMessage("jsp.warning.unknown.sourceVM", opt));
-                settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_8);
+                settings.put(CompilerOptions.OPTION_Source, "1.8");
             }
         } else {
             // Default to 1.8
-            settings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_8);
+            settings.put(CompilerOptions.OPTION_Source, "1.8");
         }
 
         // Target JVM
@@ -392,34 +392,34 @@ public class JDTCompiler extends org.apa
                 settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_7);
                 settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_1_7);
             } else if (opt.equals("1.8")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_8);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_1_8);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "1.8");
+                settings.put(CompilerOptions.OPTION_Compliance, "1.8");
                 // Version format changed from Java 9 onwards.
                 // Support old format that was used in EA implementation as well
             } else if (opt.equals("9") || opt.equals("1.9")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_9);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_9);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "1.9");
+                settings.put(CompilerOptions.OPTION_Compliance, "1.9");
             } else if (opt.equals("10")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_10);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_10);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "10");
+                settings.put(CompilerOptions.OPTION_Compliance, "10");
             } else if (opt.equals("11")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_11);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_11);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "11");
+                settings.put(CompilerOptions.OPTION_Compliance, "11");
             } else if (opt.equals("12")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_12);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_12);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "12");
+                settings.put(CompilerOptions.OPTION_Compliance, "12");
             } else if (opt.equals("13")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_13);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_13);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "13");
+                settings.put(CompilerOptions.OPTION_Compliance, "13");
             } else if (opt.equals("14")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_14);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_14);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "14");
+                settings.put(CompilerOptions.OPTION_Compliance, "14");
             } else if (opt.equals("15")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_15);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_15);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "15");
+                settings.put(CompilerOptions.OPTION_Compliance, "15");
             } else if (opt.equals("16")) {
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_16);
-                settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_16);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "16");
+                settings.put(CompilerOptions.OPTION_Compliance, "16");
             } else if (opt.equals("17")) {
                 // Constant not available in latest ECJ version that runs on
                 // Java 8.
@@ -476,12 +476,12 @@ public class JDTCompiler extends org.apa
                 settings.put(CompilerOptions.OPTION_Compliance, "25");
             } else {
                 log.warn(Localizer.getMessage("jsp.warning.unknown.targetVM", opt));
-                settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_8);
+                settings.put(CompilerOptions.OPTION_TargetPlatform, "1.8");
             }
         } else {
             // Default to 1.8
-            settings.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_1_8);
-            settings.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_1_8);
+            settings.put(CompilerOptions.OPTION_TargetPlatform, "1.8");
+            settings.put(CompilerOptions.OPTION_Compliance, "1.8");
         }
 
         final IProblemFactory problemFactory = new DefaultProblemFactory(Locale.getDefault());
