summaryrefslogtreecommitdiff
path: root/platform/lang-api/src/com/intellij/openapi/projectRoots
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lang-api/src/com/intellij/openapi/projectRoots')
-rw-r--r--platform/lang-api/src/com/intellij/openapi/projectRoots/JdkUtil.java12
-rw-r--r--platform/lang-api/src/com/intellij/openapi/projectRoots/ui/PathEditor.java8
2 files changed, 11 insertions, 9 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());
}
diff --git a/platform/lang-api/src/com/intellij/openapi/projectRoots/ui/PathEditor.java b/platform/lang-api/src/com/intellij/openapi/projectRoots/ui/PathEditor.java
index ecebb9db73f3..ae9f0142f246 100644
--- a/platform/lang-api/src/com/intellij/openapi/projectRoots/ui/PathEditor.java
+++ b/platform/lang-api/src/com/intellij/openapi/projectRoots/ui/PathEditor.java
@@ -23,7 +23,6 @@ import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileChooser.FileChooser;
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
-import com.intellij.openapi.fileChooser.FileChooserDialog;
import com.intellij.openapi.fileTypes.FileTypes;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Computable;
@@ -67,7 +66,6 @@ public class PathEditor {
public PathEditor(final FileChooserDescriptor descriptor) {
myDescriptor = descriptor;
- myDescriptor.putUserData(FileChooserDialog.PREFER_LAST_OVER_TO_SELECT, Boolean.TRUE);
myModel = createListModel();
}
@@ -176,12 +174,8 @@ public class PathEditor {
}
protected VirtualFile[] doAdd() {
- VirtualFile baseDir = myAddBaseDir;
Project project = CommonDataKeys.PROJECT.getData(DataManager.getInstance().getDataContext(myPanel));
- if (baseDir == null && project != null) {
- baseDir = project.getBaseDir();
- }
- VirtualFile[] files = FileChooser.chooseFiles(myDescriptor, myPanel, project, baseDir);
+ VirtualFile[] files = FileChooser.chooseFiles(myDescriptor, myPanel, project, myAddBaseDir);
files = adjustAddedFileSet(myPanel, files);
List<VirtualFile> added = new ArrayList<VirtualFile>(files.length);
for (VirtualFile vFile : files) {