sbt提示JmhPlugin未找到,求问题原因及调试方法
问题原因及解决方案
核心错误原因
你的enablePlugins(JmhPlugin)放在了build.sbt的顶层,未关联到具体项目定义中,导致sbt无法识别该插件引用;也有可能是插件未被正确加载。
修复步骤
1. 修正build.sbt中enablePlugins的位置
将enablePlugins(JmhPlugin)绑定到root项目定义中,两种写法任选其一:
写法一:链式调用.enablePlugins
lazy val root = (project in file(".")) .enablePlugins(JmhPlugin) .settings( name := "myproj" )
写法二:在settings中添加
lazy val root = (project in file(".")) .settings( name := "myproj", enablePlugins(JmhPlugin) )
注意:删除build.sbt顶层单独的enablePlugins(JmhPlugin)语句。
2. 验证插件加载状态
若修正位置后仍报错,执行以下排查步骤:
- 确认
project/plugins.sbt文件路径、文件名完全正确,无拼写错误。 - 执行
sbt clean reload,强制sbt清理缓存并重新加载插件配置。 - 在sbt控制台输入
show plugins,查看输出是否包含pl.project13.scala.sbt.JmhPlugin,若未出现则说明插件未下载成功,检查网络连接或尝试更换插件版本。
3. 版本兼容性检查
你使用的sbt 1.8.2与sbt-jmh 0.4.4兼容,若问题依旧,可尝试升级sbt-jmh到最新稳定版,修改project/plugins.sbt:
addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.5")
调试技巧
- 查看详细加载日志:执行
sbt -debug build,查看插件加载阶段的日志,排查是否存在下载失败或加载错误信息。 - 清理本地缓存:删除
~/.ivy2/cache/pl.project13.scala目录后重新执行sbt命令,强制重新下载插件。
内容的提问来源于stack exchange,提问作者vidi
相关产品推荐
相关产品推荐

