【问题标题】:SBT complains about deprecationsSBT 抱怨弃用
【发布时间】:2013-01-16 16:26:52
【问题描述】:

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

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

警告本身如下所示:

[info] 将 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...
[警告] 有 1 个弃用警告;使用 -deprecation 重新运行以获取详细信息
[警告] 发现一个警告

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

只是为了澄清和强调,正如 korefn 建议的那样,这没有重复:

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

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

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

【问题讨论】:

标签: scala sbt


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    这是重复的。 检查解决方案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
    

    【讨论】:

    • 对不起,但正如我提到的,这已经在里面了。但是这个 scalacOptions 似乎并没有在骨架第一次启动时被应用。
    • 您是否尝试编译一个 hello world 示例来查找抛出的报告(弃用/功能警告)?
    • 项目骨架在源代码方面是空的,即使我在第一次将 sbt 应用于骨架行为之前放置了有效的 helloworlds 仍然保持不变。骨架由一个单独的 src 文件夹结构、一些 git 设置(.gitignore 等)、vim 配置、一些本机库和文本文件组成。否则它只包含我的 sbt 配置文件。 sbt-configuration 处理我经常使用的所有插件。我认为警告必须与配置文件的“编译”过程有关,因为它们仅在首次将 sbt 应用于骨架时发生。
    • 我已经检查了 sbt 选项并使用了 sbt shell 脚本,但我还没有找到解决方案。
    猜你喜欢
    • 2021-05-10
    • 1970-01-01
    • 2019-02-03
    • 2014-02-18
    • 2022-01-10
    • 2012-01-28
    • 2011-11-14
    • 2014-06-27
    • 1970-01-01
    相关资源
    最近更新 更多