summaryrefslogtreecommitdiff
path: root/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java')
-rw-r--r--platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java b/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java
index 4291e9b401bf..337909b318e5 100644
--- a/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java
+++ b/platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java
@@ -247,7 +247,15 @@ public class JdkUtil {
}
final String mainClass = javaParameters.getMainClass();
- commandLine.addParameter(mainClass);
+ String jarPath = javaParameters.getJarPath();
+ if (mainClass != null) {
+ commandLine.addParameter(mainClass);
+ }
+ else if (jarPath != null) {
+ commandLine.addParameter("-jar");
+ commandLine.addParameter(jarPath);
+ }
+
commandLine.addParameters(javaParameters.getProgramParametersList().getList());
commandLine.setWorkDirectory(javaParameters.getWorkingDirectory());
@@ -260,7 +268,7 @@ public class JdkUtil {
ParametersList parametersList) {
commandLine.addParameters(parametersList.getList());
appendEncoding(javaParameters, commandLine, parametersList);
- if (!parametersList.hasParameter("-classpath") && !parametersList.hasParameter("-cp")){
+ if (!parametersList.hasParameter("-classpath") && !parametersList.hasParameter("-cp") && !javaParameters.getClassPath().getPathList().isEmpty()){
commandLine.addParameter("-classpath");
commandLine.addParameter(javaParameters.getClassPath().getPathsString());
}