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

IntelliJ无法运行JUnit测试,但Maven可正常执行的问题求助

问题:IntelliJ运行JUnit测试报找不到主类'--enable-preview'

错误信息

Error: Could not find or load main class '--enable-preview'
Caused by: java.lang.ClassNotFoundException: '--enable-preview'

背景

此前可在IntelliJ、IntelliJ内置Maven及独立Maven环境中正常运行Java JUnit测试,近期仅在IntelliJ中运行时触发上述错误。其他运行方式(内置/独立Maven)无异常,Maven Surefire已配置--enable-preview参数,尝试在IntelliJ的JUnit标准模板中添加该参数仍报错,且不清楚项目依赖哪些预览特性。

已做排查

  • 重装IntelliJ并复用原工作空间,问题未解决
  • 重装后的IntelliJ可正常运行工作空间内其他项目的测试,排除IDE本身问题,锁定当前项目配置错误
  • 在.idea/workspace.xml中发现JUnit的VM-OPTIONS参数包含-ea --enable-preview,删除该文件后报错依旧
  • 尝试移除-ea参数,问题未改善
  • 观察到IntelliJ运行测试的Java参数中出现重复的带单引号的'--enable-preview'

解决方案

1. 修正Run/Debug配置的VM参数

打开Run > Edit Configurations:

  • 找到对应的JUnit运行配置,切换到Configuration标签页,检查VM options输入框
  • 删除重复的--enable-preview参数,尤其是带单引号的'--enable-preview',仅保留一个不带引号的--enable-preview
  • 若为模板配置问题,进入Defaults > JUnit,修正模板中的VM参数,避免新配置继承错误项

2. 清除IDE缓存并重启

执行File > Invalidate Caches...,选择"Invalidate and Restart",重启后重新加载项目,清除缓存中的旧配置残留。

3. 让IntelliJ复用Maven配置

打开File > Settings > Build, Execution, Deployment > Build Tools > Maven > Runner:

  • 勾选Delegate IDE build/run actions to Maven,让IntelliJ直接使用Maven Surefire的配置,避免IDE自行添加重复的预览参数
  • 执行Maven > Reload Project刷新项目配置

4. 检查项目编译器预览特性配置

  • 打开File > Project Structure > Modules,选中当前模块,切换到Sources标签页,确认Language level与项目Java版本匹配,且已勾选Enable preview features
  • 进入Settings > Build, Execution, Deployment > Compiler > Java Compiler,检查对应模块的Additional command line parameters,删除重复的--enable-preview参数

内容的提问来源于stack exchange,提问作者Owen McCarthy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 19:51:06