2013-03-20 5 views
21

Wenn eine Anwendung mit Play2 kompilieren, manchmal diese Art von Meldung erscheint auf meinem Terminal:Wie erhalte ich mehr Informationen über 'Feature' Flag Warnung?

[info] Kompilieren 1 Scala Quelle zu ~/target/scala-2.10/Klassen ...
[warnen] Es gab 1 Feature Warnungen; Wieder lief mit -Feature für Details
[warn] eine Warnung gefunden
[Erfolg] in 1s Zusammengestellt

Wie kann ich weitere Informationen über jene Warnung erhalten? Es muss eine Möglichkeit, sbt sein, aber ich habe keine Ahnung, wo suchen ...

+3

Es ist der Effekt von SIP-18 http://docs.scala-lang.org/sips/pending/modularizing-language-features.html zur See-Warnung füge dieses Flag in deiner sbt-Definition hinzu: 'scalacOptions ++ = Seq (... "-Funktion") ' –

+0

In der Tat! Das hat funktioniert, danke! Würde es Ihnen etwas ausmachen, eine Antwort darauf zu geben? –

+1

@ i.am.michiel Genau welche Datei hast du in PlayFramework 2 hinzugefügt? Ich versuche, 'scalacOptions ++ = Seq (" - unchecked "," deprecation "," - feature ")' zu Build.scala hinzuzufügen, aber es scheint keine Wirkung zu haben. –

Antwort

38

Um die genaue Meldung „Feature“ Flag in Ihrer sbt Build-Definitionsdatei hinzufügen müssen zu sehen:

scalacOptions ++= Seq("-feature") 

Warum ? Scala 2.10 hat nicht nur neue Features eingeführt, sondern auch ältere umgeändert - einige der mächtigsten Scala-Features wurden ausgeblendet, weil sie mit großer Verantwortung verwendet werden sollten: sometimes they were used mistakingly. Deshalb ist SIP-18 entstanden. Um auf Dynamiken, höhere Arten, existentielle Typen und einige andere Dinge zugreifen zu können, müssen Sie diese explizit aktivieren.

+0

Wenn Sie dies in der Befehlszeile nur vorübergehend tun möchten, verwenden Sie 'set scalacOptions + =" -feature "' – Traveler