Quand je compile Scala dans la console de jeu, j'ai eu ceci:
[warn] there were 1 feature warning(s); re-run with -feature for details
[warn] one warning found
Je pensais que cela voulait dire compile -feature
, mais j'ai ceci:
[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]
Puis je lance play -feature
, j'ai ceci:
[warn] The `-` command is deprecated in favor of `onFailure` and will be removed in 0.14.0
Et jouer, quittez.
Alors, comment devrais-je faire cela?
Vous devez ajouter
scalacOptions += "-feature"
sur votre build.sbt
et exécutez reload
si votre console sbt est en cours d’exécution (ou redémarrez-la).
Alternativement, si vous souhaitez le définir uniquement pour une session unique, alors que dans sbt console, vous pouvez écrire set scalacOptions += "-feature"
, ce paramètre est appliqué immédiatement. Il n'est pas nécessaire de recharger ou de redémarrer sbt console.
Pour terminer, si vous êtes dans la réplique play/sbt, vous pouvez modifier la valeur de scalacOptions
uniquement pour la session, comme ceci:
Dans mon cas, j'ai trouvé la source de mon erreur dans le fichier/usr/local/etc/sbtopts. La ligne suivante a été ajoutée à la fin par un programme que j'avais installé.
-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled XX:MaxPermSize=256M
Chaque fois que sbt démarre, la ligne ci-dessus est transmise en tant qu'argument ayant provoqué l'erreur ci-dessus. Comme ce sont des options Java pour le résoudre, nous pouvons ajouter -J avant la ligne ci-dessus ou supprimer complètement la ligne. Cela se débarrasse de -feature.
L'indicateur doit être ajouté aux options du compilateur Scala. Vous pouvez le faire en ajoutant la ligne suivante à votre fichier build.sbt
:
scalacOptions ++= Seq("-feature")