IntelliJ与WSL2环境下Groovy Console冻结问题求助
问题分析
报错CreateProcess error=193, %1 is not a valid Win32 application的核心原因是:Windows版IntelliJ错误调用了WSL2环境中的Linux版java二进制文件,Windows的进程创建机制无法直接执行Linux可执行文件,导致进程启动失败并引发IDE冻结。
解决方案
- 配置IntelliJ使用本地Windows JDK:
- 打开
File → Project Structure → Platform Settings → SDKs - 删除或禁用路径以
\\wsl$\开头的JDK,添加本地Windows安装的JDK(例如C:\Program Files\Java\jdk-17) - 将Groovy SDK关联到这个Windows本地JDK
- 打开
- 修正Groovy Console运行配置:
- 打开Groovy Console后,点击右上角运行配置下拉菜单,选择
Edit Configurations - 在Groovy Console的配置项中,切换到
JRE标签页,选择本地Windows的JRE - 保存配置后重启Groovy Console
- 打开Groovy Console后,点击右上角运行配置下拉菜单,选择
- 检查模块依赖配置:
进入File → Project Structure → Modules,确认模块的Groovy库关联的是Windows本地的Groovy安装路径,而非WSL中的路径
报错日志
2023-05-15 16:21:09,736 [ 404917] WARN - #o.j.p.g.c.GroovyConsole - Cannot run program "\\wsl$\Ubuntu\usr\lib\jvm\java-17-openjdk-amd64\bin\java" (in directory "removed"): CreateProcess error=193, %1 is not a valid Win32 application com.intellij.execution.process.ProcessNotCreatedException: Cannot run program "\\wsl$\Ubuntu\usr\lib\jvm\java-17-openjdk-amd64\bin\java" (in directory "\\wsl$\Ubuntu\pathremoved"): CreateProcess error=193, %1 is not a valid Win32 application at com.intellij.execution.configurations.GeneralCommandLine.createProcess(GeneralCommandLine.java:356) at com.intellij.execution.process.OSProcessHandler.startProcess(OSProcessHandler.java:84) at com.intellij.execution.process.OSProcessHandler.<init>(OSProcessHandler.java:44) at com.intellij.execution.process.KillableProcessHandler.<init>(KillableProcessHandler.java:41) at com.intellij.execution.process.ColoredProcessHandler.<init>(ColoredProcessHandler.java:23) at org.jetbrains.plugins.groovy.console.GroovyConsole$3.<init>(GroovyConsole.java:200) at org.jetbrains.plugins.groovy.console.GroovyConsole.createProcessHandler(GroovyConsole.java:200) at org.jetbrains.plugins.groovy.console.GroovyConsole.createConsole(GroovyConsole.java:147) at org.jetbrains.plugins.groovy.console.GroovyConsole.lambda$getOrCreateConsole$1(GroovyConsole.java:122) at org.jetbrains.plugins.groovy.console.GroovyConsole.lambda$getOrCreateConsole$2(GroovyConsole.java:139) at org.jetbrains.plugins.groovy.util.ModuleChooserUtil.selectModule(moduleChooserUtil.kt:28) at org.jetbrains.plugins.groovy.console.GroovyConsoleUtil.selectModuleAndRun(GroovyConsoleUtil.java:26) at org.jetbrains.plugins.groovy.console.GroovyConsole.getOrCreateConsole(GroovyConsole.java:137)
内容的提问来源于stack exchange,提问作者McFrank
相关产品推荐
相关产品推荐

