From 368d7952ceecf0e29046295c6daf1af1241813b4 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 2 Jul 2010 20:27:27 +0400 Subject: [PATCH] alternative jre schould provide not only executable but also jars (IDEA-55638) --- .../execution/configurations/JavaParameters.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/java/execution/openapi/src/com/intellij/execution/configurations/JavaParameters.java b/java/execution/openapi/src/com/intellij/execution/configurations/JavaParameters.java index e46254a68ea1..cfd6bb6a3161 100644 --- a/java/execution/openapi/src/com/intellij/execution/configurations/JavaParameters.java +++ b/java/execution/openapi/src/com/intellij/execution/configurations/JavaParameters.java @@ -64,8 +64,15 @@ public class JavaParameters extends SimpleJavaParameters { } setDefaultCharset(module.getProject()); - configureEnumerator(OrderEnumerator.orderEntries(module).runtimeOnly().recursively(), classPathType) - .classes().collectPaths(getClassPath()); + configureJdkAccordingToJreSelected(jdk); + configureEnumerator(OrderEnumerator.orderEntries(module).runtimeOnly().recursively().withoutSdk(), classPathType).collectPaths(getClassPath()); + } + + private void configureJdkAccordingToJreSelected(Sdk jdk) { + final Sdk currentJdk = getJdk(); + if (currentJdk != null) { + getClassPath().addVirtualFiles(jdk.getRootProvider().getFiles(OrderRootType.CLASSES)); + } } public void setDefaultCharset(final Project project) { @@ -103,7 +110,8 @@ public class JavaParameters extends SimpleJavaParameters { return; } - configureEnumerator(OrderEnumerator.orderEntries(project).runtimeOnly(), classPathType).classes().collectPaths(getClassPath()); + configureJdkAccordingToJreSelected(getJdk()); + configureEnumerator(OrderEnumerator.orderEntries(project).runtimeOnly().withoutSdk(), classPathType).collectPaths(getClassPath()); } private static OrderEnumerator configureEnumerator(OrderEnumerator enumerator, int classPathType) {