Bug 103026 - When detected a 1.5 JDK on a fresh workspace as a default the default compiler complaince
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 5101687..9c5145e 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
@@ -21,6 +21,7 @@
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -1543,6 +1544,17 @@
}
if (defaultVM != null) {
fgDefaultVMId = getCompositeIdFromVM(defaultVM);
+ // set compiler compliance based on default VM Java version level
+ if (defaultVM instanceof IVMInstall2) {
+ String javaVersion = ((IVMInstall2)defaultVM).getJavaVersion();
+ if (javaVersion != null && javaVersion.startsWith(JavaCore.VERSION_1_5)) {
+ Hashtable defaultOptions = JavaCore.getDefaultOptions();
+ defaultOptions.put(JavaCore.COMPILER_COMPLIANCE, JavaCore.VERSION_1_5);
+ defaultOptions.put(JavaCore.COMPILER_SOURCE, JavaCore.VERSION_1_5);
+ defaultOptions.put(JavaCore.COMPILER_CODEGEN_TARGET_PLATFORM, JavaCore.VERSION_1_5);
+ JavaCore.setOptions(defaultOptions);
+ }
+ }
}
}
}