5

我制作了一个 sbt 项目框架,我用它作为我开发的程序的起点。

有一段时间,当我用这个骨架开始一个新项目时,我收到了 2 个弃用警告。骨架不包含任何源文件,即使是这样,我的 build.sbt 也包含 scalac 选项“-deprecation”,在项目源代码中编写不推荐使用的代码时可以正常工作。

警告本身如下所示:

[信息] 将 1 个 Scala 源编译到 /xxx/.../xxx/.sbt/staging/xxx/target/scala-2.9.2/sbt-0.12/classes...
[警告] 有 1 个弃用警告;使用 -deprecation 重新运行以获取详细信息
[警告] 发现一个警告
[信息] 将 1 个 Scala 源编译到 /xxx/.../xxx/project/target/scala-2.9.2/sbt-0.12/classes...
[ warn] 有 1 个弃用警告;使用 -deprecation 重新运行以获取详细信息
[警告] 发现一个警告

虽然第一个警告的原因似乎是已弃用的 .sbt-folder 问题(所以,这个警告本身在我的框架内似乎不是一个大问题)我对第二个警告有点困惑,我想询问是否有人知道如何使用“-deprecation”选项启动 sbt 本身。

只是为了澄清和强调这不是korefn 建议的重复:

scalacOptions ++= Seq( "-unchecked", "-deprecation" )

已经在里面了,只有当第一次在骨架上应用 sbt 时才会出现警告。之后 sbt 保持沉默。

也没有错误,此选项适用于我存储在骨架中的任何源文件。

4

2 回答 2

6

好的,我通过 sbt-group 收到了 2 个可能的解决方案,我想分享这些解决方案,因为其他人可能会对此感兴趣。

解决方案 1:通过 sbt 控制台...

  • 重新加载插件
  • 设置 scalacOptions ++= Seq( "-unchecked", "-deprecation" )
  • 会话保存
  • 重新加载返回

解决方案 2:在项目目录下的 .sbt 文件中再次放置行“scalacOptions ++= Seq(“-unchecked”,“-deprecation”)”。默认为 project/plugins.sbt

备注: build.sbt 中的 "scalacOptions ++= Seq( "-unchecked", "-deprecation" )" 会捕获项目源的警告,但不会捕获我原来的问题中提到的 sbt 插件等的警告。

于 2013-02-02T12:32:24.687 回答
-1

这是重复的。检查解决方案scala-sbt-how-to-re-run-with-deprecationhow-to-see-all-the-warnings-in-sbt-0-11

基本上添加到 build.sbt:

scalacOptions ++= Seq("-unchecked", "-deprecation","-feature") //any other option
//you like
于 2013-02-01T11:30:30.770 回答