diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
index 35dd305..a402f51 100644
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
+++ b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.common.fproj.enablement.jdt"
       label="%featureName"
-      version="3.22.0.qualifier"
+      version="3.23.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.jst.common.project.facet.core"
       license-feature="org.eclipse.license"
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml
index 427bd96..96fcb77 100644
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml
+++ b/features/org.eclipse.jst.common.fproj.enablement.jdt.feature/pom.xml
@@ -21,6 +21,6 @@
 
   <groupId>org.eclipse.webtools.common</groupId>
   <artifactId>org.eclipse.jst.common.fproj.enablement.jdt</artifactId>
-  <version>3.22.0-SNAPSHOT</version>
+  <version>3.23.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.xml
index cb0f8a6..ac8f6f1 100644
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.xml
+++ b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/feature.xml
@@ -2,7 +2,7 @@
 <feature
       id="org.eclipse.jst.common.fproj.enablement.jdt.sdk"
       label="%featureName"
-      version="3.22.0.qualifier"
+      version="3.23.0.qualifier"
       provider-name="%providerName"
       plugin="org.eclipse.jst.common.fproj.enablement.jdt.sdk"
       license-feature="org.eclipse.license"
diff --git a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/pom.xml b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/pom.xml
index 4e2c142..21626bd 100644
--- a/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/pom.xml
+++ b/features/org.eclipse.jst.common.fproj.enablement.jdt.sdk.feature/pom.xml
@@ -21,6 +21,6 @@
 
   <groupId>org.eclipse.webtools.common</groupId>
   <artifactId>org.eclipse.jst.common.fproj.enablement.jdt.sdk</artifactId>
-  <version>3.22.0-SNAPSHOT</version>
+  <version>3.23.0-SNAPSHOT</version>
   <packaging>eclipse-feature</packaging>
 </project>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
index dd7d671..8cc5370 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.jst.common.project.facet.core/META-INF/MANIFEST.MF
@@ -3,7 +3,7 @@
 Bundle-Vendor: %providerName
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.jst.common.project.facet.core; singleton:=true
-Bundle-Version: 1.10.0.qualifier
+Bundle-Version: 1.11.0.qualifier
 Bundle-ClassPath: .
 Bundle-Localization: plugin
 Export-Package: org.eclipse.jst.common.project.facet.core,
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
index 1a2f4b5..60840e1 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
+++ b/plugins/org.eclipse.jst.common.project.facet.core/plugin.xml
@@ -34,6 +34,7 @@
     <runtime-component-version type="standard.jre" version="14"/>
     <runtime-component-version type="standard.jre" version="15"/>
     <runtime-component-version type="standard.jre" version="16"/>
+    <runtime-component-version type="standard.jre" version="17"/>
 
     <supported>
       <facet id="java" version="1.3"/>
@@ -105,6 +106,11 @@
       <runtime-component id="standard.jre" version="[16"/>
     </supported>
 
+    <supported>
+      <facet id="java" version="17"/>
+      <runtime-component id="standard.jre" version="[17"/>
+    </supported>
+
     <adapter>
       <runtime-component id="standard.jre"/>
       <factory class="org.eclipse.jst.common.project.facet.core.internal.StandardJreClasspathProvider$Factory"/>
@@ -149,6 +155,8 @@
 
     <project-facet-version facet="java" version="16"/>
 
+    <project-facet-version facet="java" version="17"/>
+
     <action facet="java" type="install" id="java.install">
       <delegate class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallDelegate"/>
       <config-factory class="org.eclipse.jst.common.project.facet.core.internal.JavaFacetInstallConfigFactory"/>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/pom.xml b/plugins/org.eclipse.jst.common.project.facet.core/pom.xml
index f6f4ae2..83ddc61 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/pom.xml
+++ b/plugins/org.eclipse.jst.common.project.facet.core/pom.xml
@@ -21,6 +21,6 @@
 
   <groupId>org.eclipse.webtools.common</groupId>
   <artifactId>org.eclipse.jst.common.project.facet.core</artifactId>
-  <version>1.10.0-SNAPSHOT</version>
+  <version>1.11.0-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
index 455c727..3835331 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/JavaFacet.java
@@ -10,7 +10,7 @@
  *    Carl Anderson - Java 9 support
  *    John Collier - Java 10-11, 13-15 support
  *    Leon Keuroglian - Java 12 support
- *    Nitin Dahyabhai - Java 12, 16 support
+ *    Nitin Dahyabhai - Java 12, 16, 17 support
  ******************************************************************************/
 
 package org.eclipse.jst.common.project.facet.core;
@@ -46,6 +46,7 @@
     public static final IProjectFacetVersion VERSION_14 = FACET.getVersion( "14" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_15 = FACET.getVersion( "15" ); //$NON-NLS-1$
     public static final IProjectFacetVersion VERSION_16 = FACET.getVersion( "16" ); //$NON-NLS-1$
+    public static final IProjectFacetVersion VERSION_17 = FACET.getVersion( "17" ); //$NON-NLS-1$
 
     @Deprecated
     public static final IProjectFacetVersion JAVA_13 = VERSION_1_3;
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
index 2989e7c..491df79 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/StandardJreRuntimeComponent.java
@@ -10,7 +10,7 @@
  *    Carl Anderson - Java 9 support
  *    John Collier - Java 10-11, 13-15 support
  *    Leon Keuroglian - Java 12 support
- *    Nitin Dahyabhai - Java 12, 16 support
+ *    Nitin Dahyabhai - Java 12, 16, 17 support
  ******************************************************************************/
 
 package org.eclipse.jst.common.project.facet.core;
@@ -47,6 +47,7 @@
     public static final IRuntimeComponentVersion VERSION_14 = TYPE.getVersion( "14" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_15 = TYPE.getVersion( "15" ); //$NON-NLS-1$
     public static final IRuntimeComponentVersion VERSION_16 = TYPE.getVersion( "16" ); //$NON-NLS-1$
+    public static final IRuntimeComponentVersion VERSION_17 = TYPE.getVersion( "17" ); //$NON-NLS-1$
 
     @Deprecated
     public static final IRuntimeComponentVersion VERSION_5_0 = VERSION_1_5;
@@ -69,65 +70,75 @@
         
         final IRuntimeComponentVersion rcv;
         
+
+        /* Handle null, then LTS versions, then remaining versions backwards */
         if( jvmver == null ) 
         {
             rcv = StandardJreRuntimeComponent.VERSION_1_8;
         } 
-        else if( jvmver.startsWith( "1.3" ) ) //$NON-NLS-1$
+        else if( jvmver.startsWith( "17" ) ) //$NON-NLS-1$
         {
-            rcv = StandardJreRuntimeComponent.VERSION_1_3;
-        }
-        else if( jvmver.startsWith( "1.4" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_4;
-        }
-        else if( jvmver.startsWith( "1.5" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_5;
-        }
-        else if( jvmver.startsWith( "1.6" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_6;
-        }
-        else if( jvmver.startsWith( "1.7" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_7;
-        }
-        else if( jvmver.startsWith( "1.8" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_1_8;
-        }
-        else if( jvmver.startsWith( "9" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_9;
-        }
-        else if( jvmver.startsWith( "10" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_10;
+        	rcv = StandardJreRuntimeComponent.VERSION_11;
         }
         else if( jvmver.startsWith( "11" ) ) //$NON-NLS-1$
         {
-            rcv = StandardJreRuntimeComponent.VERSION_11;
+            rcv = StandardJreRuntimeComponent.VERSION_17;
         }
-        else if( jvmver.startsWith( "12" ) ) //$NON-NLS-1$
+        else if( jvmver.startsWith( "1.8" ) ) //$NON-NLS-1$
         {
-            rcv = StandardJreRuntimeComponent.VERSION_12;
+        	rcv = StandardJreRuntimeComponent.VERSION_1_8;
         }
-        else if( jvmver.startsWith( "13" ) ) //$NON-NLS-1$
+        else if( jvmver.startsWith( "16" ) ) //$NON-NLS-1$
         {
-            rcv = StandardJreRuntimeComponent.VERSION_13;
-        }
-        else if( jvmver.startsWith( "14" ) ) //$NON-NLS-1$
-        {
-            rcv = StandardJreRuntimeComponent.VERSION_14;
+            rcv = StandardJreRuntimeComponent.VERSION_16;
         }
         else if( jvmver.startsWith( "15" ) ) //$NON-NLS-1$
         {
             rcv = StandardJreRuntimeComponent.VERSION_15;
         }
-        else
+        else if( jvmver.startsWith( "14" ) ) //$NON-NLS-1$
         {
-            rcv = StandardJreRuntimeComponent.VERSION_16;
+            rcv = StandardJreRuntimeComponent.VERSION_14;
+        }
+        else if( jvmver.startsWith( "13" ) ) //$NON-NLS-1$
+        {
+            rcv = StandardJreRuntimeComponent.VERSION_13;
+        }
+        else if( jvmver.startsWith( "12" ) ) //$NON-NLS-1$
+        {
+            rcv = StandardJreRuntimeComponent.VERSION_12;
+        }
+        else if( jvmver.startsWith( "10" ) ) //$NON-NLS-1$
+        {
+            rcv = StandardJreRuntimeComponent.VERSION_10;
+        }
+        else if( jvmver.startsWith( "9" ) ) //$NON-NLS-1$
+        {
+            rcv = StandardJreRuntimeComponent.VERSION_9;
+        }
+        else if( jvmver.startsWith( "1.7" ) ) //$NON-NLS-1$
+        {
+        	rcv = StandardJreRuntimeComponent.VERSION_1_7;
+        }
+        else if( jvmver.startsWith( "1.6" ) ) //$NON-NLS-1$
+        {
+        	rcv = StandardJreRuntimeComponent.VERSION_1_6;
+        }
+        else if( jvmver.startsWith( "1.5" ) ) //$NON-NLS-1$
+        {
+        	rcv = StandardJreRuntimeComponent.VERSION_1_5;
+        }
+        else if( jvmver.startsWith( "1.4" ) ) //$NON-NLS-1$
+        {
+        	rcv = StandardJreRuntimeComponent.VERSION_1_4;
+        }
+        else if( jvmver.startsWith( "1.3" ) ) //$NON-NLS-1$
+        {
+        	rcv = StandardJreRuntimeComponent.VERSION_1_3;
+        }
+        else
+        { // Unrecognizable, so use the Eclipse Platform minimum
+            rcv = StandardJreRuntimeComponent.VERSION_11;
         }
         
         final Map<String,String> properties = new HashMap<String,String>();
diff --git a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
index 09aafbc..05dfa17 100644
--- a/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
+++ b/plugins/org.eclipse.jst.common.project.facet.core/src/org/eclipse/jst/common/project/facet/core/internal/JavaFacetUtil.java
@@ -10,7 +10,7 @@
  *    Carl Anderson - Java 9 support
  *    John Collier - Java 10-11, 13-15 support
  *    Leon Keuroglian - Java 12 support
- *    Nitin Dahyabhai - Java 12, 16 support
+ *    Nitin Dahyabhai - Java 12, 16, 17 support
  ******************************************************************************/
 
 package org.eclipse.jst.common.project.facet.core.internal;
@@ -73,6 +73,7 @@
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_14, "JavaSE-14" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_15, "JavaSE-15" ); //$NON-NLS-1$
         FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_16, "JavaSE-16" ); //$NON-NLS-1$
+        FACET_VER_TO_EXEC_ENV.put( JavaFacet.VERSION_17, "JavaSE-17" ); //$NON-NLS-1$
     }
     
     public static String getCompilerLevel()
