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

IntelliJ运行ScalaTests时报错java: option -source不能与--release共同使用

错误信息

java: error: option -source cannot be used together with --release

报错核心原因

该冲突由Java编译参数配置重复导致:-source/-target是JDK8及之前版本用于指定编译兼容版本的参数,--release是JDK9之后推出的统一跨编译参数,二者作用完全重叠,同时配置就会触发该报错。在IntelliJ IDEA 2021.2版本中运行ScalaTests时,会默认调用项目绑定的Java编译配置,很容易触发该冲突。

解决方案

方案1:关闭IDEA默认的release参数勾选(最通用解决方案)

  • 打开IDEA设置路径:File → Settings → Build, Execution, Deployment → Compiler → Java Compiler
  • 取消勾选页面底部的Use '--release' option for cross-compilation (Java 9 and later)选项
  • 点击Apply保存配置后,重新运行ScalaTests即可

方案2:统一项目JDK版本配置

如果方案1未生效,检查如下配置是否一致:

  • 打开Project Structure面板(快捷键Ctrl+Alt+Shift+S)
  • 确认Project页签的Project SDK、Project language level和项目实际使用的JDK版本一致
  • 切换到Modules页签,逐个检查所有子模块的SDK和Language level配置,和全局项目配置保持一致
  • 回到Java Compiler设置页,确认Project bytecode version和各模块的Target bytecode version和上述JDK版本保持统一

方案3:调整构建工具配置(针对Maven/Gradle管理的项目)

如果项目使用构建工具管理,需要避免配置文件中同时出现两种编译参数:

Maven项目

在pom.xml的properties节点中,仅保留一组编译配置即可,二选一:

方案A:仅保留release配置(适合JDK9+版本)

<properties>
  <maven.compiler.release>11</maven.compiler.release>
</properties>

方案B:仅保留source/target配置

<properties>
  <maven.compiler.source>11</maven.compiler.source>
  <maven.compiler.target>11</maven.compiler.target>
</properties>

修改后执行Reload All Maven Projects,再重新运行测试。

Gradle项目

在build.gradle中仅保留一组编译配置即可,二选一:

方案A:仅保留release配置

java {
    release = 11
}

方案B:仅保留sourceCompatibility/targetCompatibility配置

sourceCompatibility = 11
targetCompatibility = 11

修改后刷新Gradle配置再运行测试。

内容的提问来源于stack exchange,提问作者samir benzenine

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:18:03