diff --git a/java/compiler/impl/src/com/intellij/compiler/progress/BuildOutputService.java b/java/compiler/impl/src/com/intellij/compiler/progress/BuildOutputService.java index 2d372f41e963..86ba63b625b1 100644 --- a/java/compiler/impl/src/com/intellij/compiler/progress/BuildOutputService.java +++ b/java/compiler/impl/src/com/intellij/compiler/progress/BuildOutputService.java @@ -11,6 +11,7 @@ import com.intellij.compiler.impl.ExcludeFromCompileAction; import com.intellij.compiler.impl.ExitStatus; import com.intellij.execution.ExecutionBundle; import com.intellij.execution.filters.RegexpFilter; +import com.intellij.execution.filters.UrlFilter; import com.intellij.icons.AllIcons; import com.intellij.ide.IdeBundle; import com.intellij.openapi.actionSystem.*; @@ -85,6 +86,7 @@ public class BuildOutputService implements BuildViewService { .withAction(new CompilerPropertiesAction()) .withExecutionFilter(new ModuleLinkFilter(myProject)) .withExecutionFilter(new RegexpFilter(myProject, FILE_PATH_MACROS + ":" + LINE_MACROS + ":" + COLUMN_MACROS)) + .withExecutionFilter(new UrlFilter(myProject)) .withContextAction(node -> { return new ExcludeFromCompileAction(myProject) { @Override diff --git a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java index 07145febcc30..0263d9bd263e 100644 --- a/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java +++ b/java/compiler/impl/src/com/intellij/compiler/server/BuildManager.java @@ -101,8 +101,7 @@ import org.jetbrains.jps.incremental.Utils; import org.jetbrains.jps.incremental.storage.ProjectStamps; import org.jetbrains.jps.model.java.compiler.JavaCompilers; -import javax.tools.JavaCompiler; -import javax.tools.ToolProvider; +import javax.tools.*; import java.awt.*; import java.io.File; import java.io.IOException; @@ -979,12 +978,17 @@ public final class BuildManager implements Disposable { final StringBuilder msg = new StringBuilder(); msg.append(JavaCompilerBundle.message("abnormal.build.process.termination")).append(": "); if (errorsOnLaunch != null && errorsOnLaunch.length() > 0) { - msg.append("\n").append(errorsOnLaunch); - if (StringUtil.contains(errorsOnLaunch, "java.lang.NoSuchMethodError")) { - msg.append( - "\nThe error may be caused by JARs in Java Extensions directory which conflicts with libraries used by the external build process.") - .append( - "\nTry adding -Djava.ext.dirs=\"\" argument to 'Build process VM options' in File | Settings | Build, Execution, Deployment | Compiler to fix the problem."); + if (StringUtil.contains(errorsOnLaunch, "io.netty.channel.ConnectTimeoutException") && wslDistribution != null) { + msg.append(JavaCompilerBundle.message("wsl.network.connection.failure")); + } + else { + msg.append("\n").append(errorsOnLaunch); + if (StringUtil.contains(errorsOnLaunch, "java.lang.NoSuchMethodError")) { + msg.append( + "\nThe error may be caused by JARs in Java Extensions directory which conflicts with libraries used by the external build process.") + .append( + "\nTry adding -Djava.ext.dirs=\"\" argument to 'Build process VM options' in File | Settings | Build, Execution, Deployment | Compiler to fix the problem."); + } } } else { diff --git a/java/compiler/openapi/resources/messages/JavaCompilerBundle.properties b/java/compiler/openapi/resources/messages/JavaCompilerBundle.properties index cc5bd4646ea5..3f8b219655cd 100644 --- a/java/compiler/openapi/resources/messages/JavaCompilerBundle.properties +++ b/java/compiler/openapi/resources/messages/JavaCompilerBundle.properties @@ -209,6 +209,7 @@ eclipse.compiler.path.leave.empty.help.message=Path to ECJ batch compiler tool ( eclipse.compiler.proceed.on.errors.option=Proceed on errors progress.title.cancelling.auto.make.builds=Cancelling Auto-Make Builds abnormal.build.process.termination=Abnormal build process termination +wsl.network.connection.failure=Can't establish network connection from WSL to Windows host (could be blocked by firewall). More info: https://jb.gg/wsl-firewall unknown.build.process.error=unknown error intention.name.make.implements=Make implements ''{0}'' intention.name.make.extends=Make extends ''{0}''