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

IntelliJ IDEA社区版sbt shell执行g8模板命令报错:Unknown argument 'idea-shell'

解决IntelliJ IDEA sbt Shell中执行new命令的Unknown argument 'idea-shell'错误

我之前也碰到过一模一样的问题,本质原因很明确:IntelliJ IDEA的sbt Shell会自动给giter8(也就是sbt new命令依赖的模板生成工具)传递一个idea-shell参数,但你当前使用的g8 0.7.2版本太老旧,完全不识别这个参数,所以直接触发了报错。

下面给你几个实用的解决办法:

方法1:给命令加--屏蔽额外参数

最简单的临时解决方式,就是在执行new命令时,在模板地址的末尾加上--,这样sbt会自动忽略后续IDEA传递的额外参数,不会把idea-shell传给g8。修改后的命令如下:

new https://github.com/sbt/scala-seed.g8 --

针对Play框架模板的话,改成:

new PlayFramework/play-scala-seed.g8 --

方法2:升级giter8版本

g8在0.13.0及以后的版本中已经适配了IDEA的这个参数,你可以升级项目里的giter8依赖。打开项目根目录下的project/plugins.sbt文件,添加或更新giter8 resolver的版本:

addSbtPlugin("org.foundweekends.giter8" % "sbt-giter8-resolver" % "0.13.1")

保存后回到IDEA的sbt Shell,执行reload重新加载项目,再运行new命令就可以正常执行了。

方法3:换系统终端执行命令

如果不想修改任何配置,直接打开系统自带的终端(Windows用PowerShell、Mac/Linux用Terminal),进入你的项目目录,执行sbt进入sbt环境后再运行new命令就行——这里不会有IDEA额外传递的参数,自然不会触发报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:24:37