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

如何通过sbt-tpolecat插件解决Scala 2.13的'-no-link-warnings'编译错误

问题根源

-no-link-warnings是Scaladoc专属参数,仅用于生成文档阶段,不能在编译(compile)阶段使用。你使用的sbt-tpolecat 0.5.2版本存在bug,错误地将该参数注入到了编译阶段的scalacOptions中,导致编译失败。

解决方案

方案1:直接移除编译阶段的错误参数

在build.sbt中添加以下配置,从编译选项里剔除-no-link-warnings:

Compile / scalacOptions -= "-no-link-warnings"

这个操作不会影响Scaladoc生成时的参数配置,仅解决编译阶段的错误。

方案2:升级sbt-tpolecat插件到修复版本

该bug在后续版本中已被修复,建议将插件版本升级到最新稳定版(如0.5.3及以上)。修改project/plugins.sbt中的插件版本:

addSbtPlugin("org.typelevel" % "sbt-tpolecat" % "0.5.3")

升级后插件会自动将-no-link-warnings仅应用到文档生成阶段,无需额外配置。

方案3:全局过滤tpolecat的选项(可选)

如果暂时无法升级插件,可通过tpolecat的内置设置全局过滤掉错误选项,再单独为文档阶段添加:

// 全局移除错误选项
tpolecatScalacOptions := tpolecatScalacOptions.value.filterNot(_ == "-no-link-warnings")
// 仅在文档生成阶段添加该参数
Compile / doc / scalacOptions += "-no-link-warnings"

补充说明

你之前尝试添加Compile / doc / scalacOptions += "-no-link-warnings"是正确的文档阶段配置,但问题核心是编译阶段被错误注入了该参数,因此需要针对编译阶段的选项进行调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 11:12:14