【问题标题】:sbt 0.12.4 - there were x feature warning(s); re-run with -feature for detailssbt 0.12.4 - 有 x 个功能警告;使用 -feature 重新运行以获取详细信息
【发布时间】:2015-03-09 20:28:57
【问题描述】:

我收到一个错误there were 15 feature warning(s); re-run with -feature for details

$ /usr/local/sbt/bin/sbt
[info] Loading project definition from /home/alex/Documents/projects/my_app123/project
[info] Set current project to sbt-android (in build file:/home/alex/Documents/projects/my_app123/)

> compile -feature
[error] Expected end of input.
[error] compile -feature
[error]        ^

> sbt-version
[info] 0.12.4

> compile 
[warn] Credentials file /home/alex/.ivy2/.credentials does not exist
[info] Compiling 20 Scala sources to /home/alex/Documents/projects/my_app123/target/scala-2.10/sbt-0.12/classes...
[error] there were 15 feature warning(s); re-run with -feature for details
[error] one error found
[error] (compile:compile) Compilation failed
[error] Total time: 27 s, completed 01 12, 15 1:20:12 PM

build.sbt

scalaVersion := "2.10.4"

我无法找出那个错误是什么,因为它没有说,即使我以$ /usr/local/sbt/bin/sbt -feature 运行 sbt。

$ /usr/local/sbt/bin/sbt -feature
[info] Loading project definition from /home/alex/Documents/projects/my_app123/project
[info] Set current project to sbt-android (in build file:/home/alex/Documents/projects/my_app123/)
$

它是 JDK 1.7

错误是什么,我该如何解决?

更新

build.sbt

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

或在 sbt 本身中:

> set scalacOptions in ThisBuild ++= Seq("-unchecked", "-deprecation")

错误依旧。

【问题讨论】:

  • @som-snytt,没有帮助。
  • 你想要-feature
  • @som-snytt,你读过我的问题吗?这就是我所做的 - -feature.
  • 在您的更新中,您添加了 -unchecked 和 -deprecation,而不是 -feature。如果我没有读到问题,我就不会卷入刚才的聊天中。但是,如果链接对您没有用,请见谅。

标签: scala sbt scalac


【解决方案1】:

我没有机会每天使用 sbt,所以这只是为了确认链接答案中的建议:

$ sbt
[info] Set current project to Compiler options (in build file:/home/apm/tmp/sbtwarn/)
> compile
[info] Compiling 1 Scala source to /home/apm/tmp/sbtwarn/target/scala-2.11/classes...
[warn] there was one feature warning; re-run with -feature for details
[warn] one warning found
[success] Total time: 4 s, completed Jan 12, 2015 9:45:17 AM
> set scalacOptions in ThisBuild ++= Seq("-feature")
[info] Defining {.}/*:scalacOptions
[info] The new value will be used by compile:scalacOptions
[info] Reapplying settings...
[info] Set current project to Compiler options (in build file:/home/apm/tmp/sbtwarn/)
> compile
[info] Compiling 1 Scala source to /home/apm/tmp/sbtwarn/target/scala-2.11/classes...
[warn] /home/apm/tmp/sbtwarn/src/main/scala/Sample.scala:6: postfix operator head should be enabled
[warn] by making the implicit value scala.language.postfixOps visible.
[warn] This can be achieved by adding the import clause 'import scala.language.postfixOps'
[warn] or by setting the compiler option -language:postfixOps.
[warn] See the Scala docs for value scala.language.postfixOps for a discussion
[warn] why the feature should be explicitly enabled.
[warn]   Console println (List(1,2,3) head)
[warn]                                ^
[warn] one warning found
[success] Total time: 1 s, completed Jan 12, 2015 9:45:46 AM

嘿,成功了!

【讨论】:

    【解决方案2】:

    你应该添加

    scalacOptions += "-feature"
    

    到你的 build.sbt 并在你的 sbt 控制台正在运行时执行 reload(或重新启动它)。

    或者,如果您只想为单个会话设置它,而在 sbt 控制台中,您可以写set scalacOptions += "-feature",此设置立即应用,无需重新加载或重新启动 sbt 控制台。

    Re-run with -feature for details

    【讨论】:

      猜你喜欢
      • 2014-07-18
      • 2014-07-18
      • 1970-01-01
      • 2018-05-23
      • 2012-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-05
      相关资源
      最近更新 更多