diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java
index b0d224f386..45a6c667b8 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/EECompilationParticipant.java
@@ -8,6 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ * This is an implementation of an early-draft specification developed under the Java
+ * Community Process (JCP) and is made available for testing and evaluation purposes
+ * only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -234,6 +238,8 @@ public static String getCompilerCompliance(IVMInstall2 vMInstall) {
String version = vMInstall.getJavaVersion();
if (version == null) {
return null;
+ } else if (version.startsWith(JavaCore.VERSION_23)) {
+ return JavaCore.VERSION_23;
} else if (version.startsWith(JavaCore.VERSION_22)) {
return JavaCore.VERSION_22;
} else if (version.startsWith(JavaCore.VERSION_21)) {
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
index 2bfb03a564..8cbdf74ec3 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/StandardVMType.java
@@ -8,6 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ * This is an implementation of an early-draft specification developed under the Java
+ * Community Process (JCP) and is made available for testing and evaluation purposes
+ * only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
* Michael Allman - Bug 211648, Bug 156343 - Standard VM not supported on MacOS
@@ -845,8 +849,10 @@ public URL getDefaultJavadocLocation(File installLocation) {
*/
public static URL getDefaultJavadocLocation(String version) {
try {
- if (version.startsWith(JavaCore.VERSION_22)) {
- // To modify to version 22 after the release
+ if (version.startsWith(JavaCore.VERSION_23)) {
+ // To modify to version 23 after the release
+ return new URL("https://docs.oracle.com/en/java/javase/22/docs/api/"); //$NON-NLS-1$
+ } else if (version.startsWith(JavaCore.VERSION_22)) {
return new URL("https://docs.oracle.com/en/java/javase/22/docs/api/"); //$NON-NLS-1$
} else if (version.startsWith(JavaCore.VERSION_21)) {
return new URL("https://docs.oracle.com/en/java/javase/21/docs/api/"); //$NON-NLS-1$
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java
index 76dacb65b4..1248bc8ced 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/EnvironmentsManager.java
@@ -8,6 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ * This is an implementation of an early-draft specification developed under the Java
+ * Community Process (JCP) and is made available for testing and evaluation purposes
+ * only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*
@@ -196,7 +200,9 @@ public synchronized Analyzer[] getAnalyzers() {
private String getExecutionEnvironmentCompliance(IExecutionEnvironment executionEnvironment) {
String desc = executionEnvironment.getId();
- if (desc.indexOf(JavaCore.VERSION_22) != -1) {
+ if (desc.indexOf(JavaCore.VERSION_23) != -1) {
+ return JavaCore.VERSION_23;
+ } else if (desc.indexOf(JavaCore.VERSION_22) != -1) {
return JavaCore.VERSION_22;
} else if (desc.indexOf(JavaCore.VERSION_21) != -1) {
return JavaCore.VERSION_21;
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java
index 5c1d921c01..9a431cf3e9 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/internal/launching/environments/ExecutionEnvironmentAnalyzer.java
@@ -8,6 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ * This is an implementation of an early-draft specification developed under the Java
+ * Community Process (JCP) and is made available for testing and evaluation purposes
+ * only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*
@@ -41,6 +45,7 @@ public class ExecutionEnvironmentAnalyzer implements IExecutionEnvironmentAnalyz
// XXX: Note that this string is not yet standardized by OSGi, see http://wiki.osgi.org/wiki/Execution_Environment
+ private static final String JavaSE_23 = "JavaSE-23"; //$NON-NLS-1$
private static final String JavaSE_22 = "JavaSE-22"; //$NON-NLS-1$
private static final String JavaSE_21 = "JavaSE-21"; //$NON-NLS-1$
private static final String JavaSE_20 = "JavaSE-20"; //$NON-NLS-1$
@@ -96,7 +101,7 @@ public class ExecutionEnvironmentAnalyzer implements IExecutionEnvironmentAnalyz
mappings.put(JavaSE_1_8, new String[] { JavaSE_1_7 });
mappings.put(JavaSE_9, new String[] { JavaSE_1_8 });
mappings.put(JavaSE_10, new String[] { JavaSE_9 });
- mappings.put(JavaSE_10_Plus, new String[] { JavaSE_22 });
+ mappings.put(JavaSE_10_Plus, new String[] { JavaSE_23 });
mappings.put(JavaSE_11, new String[] { JavaSE_10 });
mappings.put(JavaSE_12, new String[] { JavaSE_11 });
mappings.put(JavaSE_13, new String[] { JavaSE_12 });
@@ -109,6 +114,7 @@ public class ExecutionEnvironmentAnalyzer implements IExecutionEnvironmentAnalyz
mappings.put(JavaSE_20, new String[] { JavaSE_19 });
mappings.put(JavaSE_21, new String[] { JavaSE_20 });
mappings.put(JavaSE_22, new String[] { JavaSE_21 });
+ mappings.put(JavaSE_23, new String[] { JavaSE_22 });
}
@Override
public CompatibleEnvironment[] analyze(IVMInstall vm, IProgressMonitor monitor) throws CoreException {
@@ -134,7 +140,9 @@ public CompatibleEnvironment[] analyze(IVMInstall vm, IProgressMonitor monitor)
types = getTypes(CDC_FOUNDATION_1_1);
}
} else {
- if (javaVersion.startsWith("22")) { //$NON-NLS-1$
+ if (javaVersion.startsWith("23")) { //$NON-NLS-1$
+ types = getTypes(JavaSE_23);
+ } else if (javaVersion.startsWith("22")) { //$NON-NLS-1$
types = getTypes(JavaSE_22);
} else if (javaVersion.startsWith("21")) { //$NON-NLS-1$
types = getTypes(JavaSE_21);
diff --git a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
index 42cabe2ca6..16cef0a6e5 100644
--- a/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
+++ b/org.eclipse.jdt.launching/launching/org/eclipse/jdt/launching/JavaRuntime.java
@@ -8,6 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ * This is an implementation of an early-draft specification developed under the Java
+ * Community Process (JCP) and is made available for testing and evaluation purposes
+ * only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
* Frits Jalvingh - Contribution for Bug 459831 - [launching] Support attaching
@@ -3373,6 +3377,9 @@ private static void updateCompliance(IVMInstall vm) {
} else if (javaVersion.startsWith(JavaCore.VERSION_22)
&& (javaVersion.length() == JavaCore.VERSION_22.length() || javaVersion.charAt(JavaCore.VERSION_22.length()) == '.')) {
compliance = JavaCore.VERSION_22;
+ } else if (javaVersion.startsWith(JavaCore.VERSION_23)
+ && (javaVersion.length() == JavaCore.VERSION_23.length() || javaVersion.charAt(JavaCore.VERSION_23.length()) == '.')) {
+ compliance = JavaCore.VERSION_23;
} else {
compliance = JavaCore.VERSION_22; // use latest by default
}
diff --git a/org.eclipse.jdt.launching/plugin.properties b/org.eclipse.jdt.launching/plugin.properties
index 5874f418fa..2433741218 100644
--- a/org.eclipse.jdt.launching/plugin.properties
+++ b/org.eclipse.jdt.launching/plugin.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2000, 202 IBM Corporation and others.
+# Copyright (c) 2000, 2024 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
@@ -8,6 +8,10 @@
#
# SPDX-License-Identifier: EPL-2.0
#
+# This is an implementation of an early-draft specification developed under the Java
+# Community Process (JCP) and is made available for testing and evaluation purposes
+# only. The code is not compatible with any specification of the JCP.
+#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
@@ -84,6 +88,7 @@ environment.description.23 = Java Platform, Standard Edition 19
environment.description.24 = Java Platform, Standard Edition 20
environment.description.25 = Java Platform, Standard Edition 21
environment.description.26 = Java Platform, Standard Edition 22
+environment.description.27 = Java Platform, Standard Edition 23
classpathVariableInitializer.deprecated = Use the JRE System Library instead
diff --git a/org.eclipse.jdt.launching/plugin.xml b/org.eclipse.jdt.launching/plugin.xml
index a3579476b6..92b23a00fb 100644
--- a/org.eclipse.jdt.launching/plugin.xml
+++ b/org.eclipse.jdt.launching/plugin.xml
@@ -10,6 +10,11 @@
SPDX-License-Identifier: EPL-2.0
+
+ This is an implementation of an early-draft specification developed under the Java
+ Community Process (JCP) and is made available for testing and evaluation purposes
+ only. The code is not compatible with any specification of the JCP.
+
Contributors:
IBM Corporation - initial API and implementation
-->
@@ -388,6 +393,11 @@
id="JavaSE-22"
compliance="22">
+
+