Bug 540555 - Compatibility error in launch configuration with 4.9 using
Java 12
Change-Id: I5f4a6f8b5c178b82aa4f7360bb828b9ace950578
diff --git a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java
index 7b9d0de..d875135 100644
--- a/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java
+++ b/org.eclipse.jdt.debug.ui/ui/org/eclipse/jdt/debug/ui/launchConfigurations/JavaJRETab.java
@@ -15,6 +15,7 @@
package org.eclipse.jdt.debug.ui.launchConfigurations;
+import java.util.List;
import java.util.Map;
import org.eclipse.core.resources.IProject;
@@ -332,13 +333,18 @@
if(vmver != null) {
int val = JavaCore.compareJavaVersions(compliance, vmver);
if(val > 0) {
- String setting = null;
- if (environmentId == null) {
- setting = LauncherMessages.JavaJRETab_2;
- } else {
- setting = LauncherMessages.JavaJRETab_1;
+ List<String> allVersions = JavaCore.getAllVersions();
+ String latest = allVersions.get(allVersions.size() - 1);
+ if (JavaCore.compareJavaVersions(vmver, latest) <= 0) {
+ String setting = null;
+ if (environmentId == null) {
+ setting = LauncherMessages.JavaJRETab_2;
+ } else {
+ setting = LauncherMessages.JavaJRETab_1;
+ }
+ return new Status(IStatus.ERROR, IJavaDebugUIConstants.PLUGIN_ID, IStatus.ERROR, NLS.bind(LauncherMessages.JavaJRETab_0, new String[] {
+ setting, source, compliance }), null);
}
- return new Status(IStatus.ERROR, IJavaDebugUIConstants.PLUGIN_ID, IStatus.ERROR, NLS.bind(LauncherMessages.JavaJRETab_0, new String[] {setting, source, compliance}), null);
}
}
}