sbt 0.12.4 - было x предупреждений о функциях; повторно запустить с -feature для деталей

Я получаю сообщение об ошибке 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"

Я не могу понять, что это за ошибка, потому что она этого не говорит, даже когда я запускаю sbt как $ /usr/local/sbt/bin/sbt -feature.

$ /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")

Ошибка остается той же.


person アレックス    schedule 12.01.2015    source источник
comment
stackoverflow.com/ вопросы/9578521/   -  person som-snytt    schedule 12.01.2015
comment
@som-snytt, это не помогло.   -  person アレックス    schedule 12.01.2015
comment
Вы хотите -feature.   -  person som-snytt    schedule 12.01.2015
comment
@som-snytt, ты прочитал мой вопрос? Я так и сделал - -feature.   -  person アレックス    schedule 12.01.2015
comment
В своем обновлении вы добавили -unchecked и -deprecation, а не -feature. Если бы я не прочитал вопрос, я бы сейчас не был вовлечен в чат. Но извините, если ссылка вам не пригодилась.   -  person som-snytt    schedule 12.01.2015
comment
@сом-снитт, $ /usr/local/sbt/bin/sbt -feature   -  person アレックス    schedule 12.01.2015
comment
Здесь есть идеальный ответ: stackoverflow.com/a/23927365/56285   -  person Jonik    schedule 10.12.2015


Ответы (2)


У меня нет возможности использовать 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

Эй, это сработало!

person som-snytt    schedule 12.01.2015

Вы должны добавить

scalacOptions += "-feature"

в ваш build.sbt и выполните перезагрузку, если ваша консоль sbt работает (или перезапустите ее).

В качестве альтернативы, если вы хотите установить его только для одного сеанса, в то время как в консоли sbt, вы можете написать set scalacOptions += "-feature", этот параметр применяется немедленно, нет необходимости перезагружать или перезапускать консоль sbt.

Повторно запустить с -feature для получения подробностей

person Frank    schedule 28.06.2017