When I compile scala in play console, I got this:
[warn] there were 1 feature warning(s); re-run with -feature for details
[warn] one warning found
I thought it means compile -feature
, but I got this:
[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]
Then I run play -feature
, I got this:
[warn] The `-` command is deprecated in favor of `onFailure` and will be removed in 0.14.0
And play quit.
So how should I do this?
You have to add
scalacOptions += "-feature"
to your build.sbt
and execute reload
if your sbt console is running (or restart it).
Alternatively if you want to set it only for a single session, while in sbt console.
set scalacOptions += "-feature"
You can write, this setting is applied immediately, no need to reload or restart sbt console.
Just for completion if you're in the play/sbt repl you can modify the value of scalacOptions
just for the session, like this:
In my case, I found the source of my error to the file /usr/local/etc/sbtopts. It had the following line added at the end by some program I had installed.
-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled XX:MaxPermSize=256M
Whenever sbt launches the above line is passed as arguments which was causing the above error. As these are java options to solve it either we can add -J before the above line or delete the line completely. This gets rid of -feature.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With