[jvm-execution] EA-268430 fix NPE when determining class path type

GitOrigin-RevId: 51655f94b503c957eaa7e68a6e4b521b03a2f3ea
This commit is contained in:
Konstantin Aleev
2023-07-28 15:39:00 +02:00
committed by intellij-monorepo-bot
parent 8a3de6c0c9
commit 7f880090d2
2 changed files with 7 additions and 4 deletions

View File

@@ -3,9 +3,7 @@ package com.intellij.execution.application;
import com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil;
import com.intellij.debugger.settings.DebuggerSettings;
import com.intellij.execution.CommonJavaRunConfigurationParameters;
import com.intellij.execution.ConfigurationWithCommandLineShortener;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.*;
import com.intellij.execution.configurations.JavaParameters;
import com.intellij.execution.configurations.JavaRunConfigurationModule;
import com.intellij.execution.configurations.ModuleBasedConfiguration;
@@ -39,6 +37,7 @@ public abstract class ApplicationCommandLineState<T extends
T configuration = getConfiguration();
params.setMainClass(ReadAction.compute(() -> myConfiguration.getRunClass()));
String mainClass = params.getMainClass();
try {
JavaParametersUtil.configureConfiguration(params, myConfiguration);
}
@@ -51,7 +50,10 @@ public abstract class ApplicationCommandLineState<T extends
final String jreHome = getTargetEnvironmentRequest() == null && myConfiguration.isAlternativeJrePathEnabled() ? myConfiguration.getAlternativeJrePath() : null;
if (module.getModule() != null) {
DumbService.getInstance(module.getProject()).runWithAlternativeResolveEnabled(() -> {
int classPathType = JavaParametersUtil.getClasspathType(module, myConfiguration.getRunClass(), false,
if (mainClass == null) {
throw new CantRunException(ExecutionBundle.message("no.main.class.defined.error.message"));
}
int classPathType = JavaParametersUtil.getClasspathType(module, mainClass, false,
isProvidedScopeIncluded());
JavaParametersUtil.configureModule(module, params, classPathType, jreHome);
});

View File

@@ -2,6 +2,7 @@ no.module.defined.error.message=No module defined
module.does.not.exist.error.message=Module ''{0}'' does not exist
no.jdk.for.module.error.message=No JDK for module ''{0}''
class.not.found.in.module.error.message=Class ''{0}'' not found in module ''{1}''
no.main.class.defined.error.message=No main class defined
package.not.found.error.message=Package ''{0}'' not found
jdk.is.bad.configured.error.message=''{0}'' is misconfigured
some.modules.has.circular.dependency.error.message=Some modules have a circular dependency.