You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下WSL+IntelliJ运行测试遇CreateProcess error=193求助

在Windows的IntelliJ IDEA社区版中配置WSL运行Java测试用例失败的排查方案

我在Windows系统上使用IntelliJ IDEA社区版,尝试通过WSL运行测试用例时出现以下错误:

Error running 'InstanceAssignmentConfigUtilsTest': Cannot run program "\wsl$\Ubuntu\usr\lib\jvm\java-11-openjdk-amd64\bin\java" (in directory "\wsl$\Ubuntu\home\aditya0811\pinot\pinot-common"): CreateProcess error=193, %1 is not a valid Win32 application

该测试用例在Ubuntu的Windows终端中可正常运行,但我希望通过Windows端IntelliJ进行代码编辑与调试,同时利用WSL环境运行Java。由于Run Target功能仅在IntelliJ旗舰版中可用,无法通过该方式配置,查阅资料后问题仍未解决,现求助排查缺失的配置项。


环境信息

IntelliJ信息

IntelliJ IDEA 2023.2.2 (Community Edition)
Build #IC-232.9921.47, built on September 13, 2023
Runtime version: 17.0.8+7-b1000.22 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4048M
Cores: 12
Registry:
    ide.experimental.ui=true

Kotlin: 232-1.9.0-IJ9921.47

IntelliJ Maven设置

Maven home path : \\wsl$\Ubuntu\opt\apache-maven-3.6.3
User settings file : \\wsl$\Ubuntu\home\aditya0811\.m2\settings.xml
Local repository : \\wsl$\Ubuntu\home\aditya0811\.m2\repository

IntelliJ Maven/导入设置

JDK for importer (version 11.0.21) : \\wsl$\Ubuntu\usr\lib\jvm\java-11-openjdk-amd64

WSL环境变量

M2_HOME = /opt/apache-maven-3.6.3
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

WSL版本

Welcome to Ubuntu 22.04.3 LTS (GNU/Linux 5.15.133.1-microsoft-standard-WSL2 x86_64)

排查与解决步骤

1. 核心问题分析

报错CreateProcess error=193的本质是:Windows直接调用了WSL中的Linux版Java可执行文件(ELF格式),而Windows无法识别并运行Linux程序,必须通过WSL的shell间接启动。

2. 配置WSL远程JDK

  • 打开File > Project Structure > Platform Settings > SDKs
  • 点击+号选择Add JDK,再选WSL,选择你的Ubuntu发行版,IDE会自动检测WSL内的Java路径,完成添加后将其设为项目默认SDK
  • 回到测试用例的Run/Debug Configurations,将配置中的JRE改为刚添加的WSL远程JDK

3. 修正Maven执行配置

  • 打开Settings > Build, Execution, Deployment > Build Tools > Maven > Runner
  • 将JRE设置为上述WSL远程JDK,避免直接使用\\wsl$\路径的本地JDK
  • 若需要通过Maven运行测试,可勾选Delegate IDE build/run actions to Maven,并在Maven命令前添加wsl 前缀(如wsl mvn test -Dtest=InstanceAssignmentConfigUtilsTest)

4. 调整项目路径映射

  • 不要直接通过\\wsl$\路径挂载项目,建议在WSL终端中克隆项目到Ubuntu本地目录,再通过IntelliJ的File > Open打开\\wsl$\Ubuntu\home\aditya0811\pinot
  • 检查WSL内项目文件的权限,确保IntelliJ能正常读写(可通过WSL终端执行chmod -R 755 /home/aditya0811/pinot调整)

5. 自定义启动命令(备选方案)

若远程JDK配置无效,可手动配置测试用例的启动命令:

  • 打开测试用例的Run/Debug Configurations
  • 在Configuration标签页,将Program改为wsl.exe
  • Arguments填写:--exec bash -c "cd /home/aditya0811/pinot/pinot-common && /usr/lib/jvm/java-11-openjdk-amd64/bin/java [你的测试类全路径] [测试参数]"

内容的提问来源于stack exchange,提问作者Aditya Mahajan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 23:47:41