diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerConfigurable.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerConfigurable.java index 7f97fe601051..085fc93e248c 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerConfigurable.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerConfigurable.java @@ -187,20 +187,21 @@ public abstract class MavenRunnerConfigurable implements SearchableConfigurable, } - private void fillComboboxJdk(MavenRunnerSettings data) { - myJdkComboModel.removeAllElements(); - for (Pair jdk : data.collectJdkNamesAndDescriptions()) { - ComboBoxUtil.addToModel(myJdkComboModel, jdk.getFirst(), jdk.getSecond()); - } - myJdkCombo.setModel(myJdkComboModel); - } - void getData(MavenRunnerSettings data) { myRunInBackgroundCheckbox.setSelected(data.isRunMavenInBackground()); myVMParametersEditor.setText(data.getVmOptions()); mySkipTestsCheckBox.setSelected(data.isSkipTests()); - fillComboboxJdk(data); + Map jdkMap = data.collectJdkNamesAndDescriptions(); + if (!jdkMap.containsKey(data.getJreName())) { + jdkMap.put(data.getJreName(), data.getJreName()); + } + + myJdkComboModel.removeAllElements(); + for (Map.Entry entry : jdkMap.entrySet()) { + ComboBoxUtil.addToModel(myJdkComboModel, entry.getKey(), entry.getValue()); + } + myJdkCombo.setModel(myJdkComboModel); ComboBoxUtil.select(myJdkComboModel, data.getJreName()); myPropertiesPanel.setDataFromMap(data.getMavenProperties()); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerSettings.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerSettings.java index 87046b1b1e23..4cf38fec00e4 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerSettings.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/execution/MavenRunnerSettings.java @@ -98,16 +98,16 @@ public class MavenRunnerSettings implements Cloneable { this.mavenProperties = mavenProperties; } - public List> collectJdkNamesAndDescriptions() { - List> result = new ArrayList>(); + public Map collectJdkNamesAndDescriptions() { + Map result = new LinkedHashMap(); for (Sdk projectJdk : ProjectJdkTable.getInstance().getSdksOfType(getSdkType())) { String name = projectJdk.getName(); - result.add(new Pair(name, name)); + result.put(name, name); } - result.add(new Pair(USE_INTERNAL_JAVA, RunnerBundle.message("maven.java.internal"))); - result.add(new Pair(USE_JAVA_HOME, RunnerBundle.message("maven.java.home.env"))); + result.put(USE_INTERNAL_JAVA, RunnerBundle.message("maven.java.internal")); + result.put(USE_JAVA_HOME, RunnerBundle.message("maven.java.home.env")); return result; }