Beim Kompilieren von Scala in der Spielekonsole habe ich Folgendes erhalten:
[warn] there were 1 feature warning(s); re-run with -feature for details
[warn] one warning found
Ich dachte, es bedeutet compile -feature
, aber ich habe folgendes verstanden:
[error] Expected ID character
[error] Not a valid command: compile (similar: completions)
[error] Expected project ID
[error] Expected configuration
[error] Expected ':' (if selecting a configuration)
[error] Expected key
[error] Expected '::'
[error] Expected end of input.
[error] compile -feature
[error]
Dann starte ich play -feature
und bekomme folgendes:
[warn] The `-` command is deprecated in favor of `onFailure` and will be removed in 0.14.0
Und hör auf zu spielen.
Wie soll ich das machen?
Sie müssen hinzufügen
scalacOptions += "-feature"
zu deinem build.sbt
und führe reload
aus, wenn deine sbt-konsole läuft (oder starte sie neu).
Wenn Sie es alternativ nur für eine einzelne Sitzung festlegen möchten, während Sie in der sbt-Konsole set scalacOptions += "-feature"
schreiben können, wird diese Einstellung sofort angewendet und Sie müssen die sbt-Konsole nicht neu laden oder neu starten.
Nur zur Vervollständigung, wenn Sie in der play/sbt-Antwort sind, können Sie den Wert von scalacOptions
nur für die Sitzung wie folgt ändern:
In meinem Fall habe ich die Fehlerquelle in der Datei/usr/local/etc/sbtopts gefunden. Die folgende Zeile wurde am Ende von einem Programm hinzugefügt, das ich installiert hatte.
-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled XX:MaxPermSize=256M
Bei jedem Start von sbt wird die obige Zeile als Argument übergeben, das den obigen Fehler verursacht hat. Da dies Java-Optionen sind, können wir entweder -J vor der obigen Zeile hinzufügen oder die Zeile komplett löschen. Dies wird -feature los.
Das Flag muss zu den Scala-Compileroptionen hinzugefügt werden. Dazu fügen Sie Ihrer build.sbt
-Datei die folgende Zeile hinzu:
scalacOptions ++= Seq("-feature")