update - scala sbt ubuntu
''sbt run'' con argumentos CLI desde shell (2)
El problema podría ser la forma en que pasa los argumentos en su archivo de lanzamiento sbt
a Java. En mi caso es:
java -Xmx4096M -jar `dirname $0`/sbt-launch_0.12.1.jar "$@"
Y acabo de confirmar: funciona tanto con 0.12 como con 0.12.1. Por ejemplo, para un programa que solo imprime sus argumentos, obtengo:
$ sbt "run-main SomeMain blah blah"
Outut:
[blah, blah]
Al usar run-main
, también puede evitar la posibilidad de que sbt no vea su función principal.
Intenté ejecutar mi proyecto de Scala con argumentos de la CLI utilizando sbt launcher versión 0.12.1. Funciona bien cuando se ejecuta desde el indicador de Scala:
$ sbt
[info] (...)
> run sth
(...)
[success] Total time: 0 s, completed Nov 9, 2012 3:04:47 PM
Pero cuando quiero ejecutarlo todo desde shell, por ejemplo, según esta respuesta , recibo un error:
$ sbt "run sth"
[info] (...)
you need to provide source file name
[success] Total time: 0 s, completed Nov 9, 2012 3:07:07 PM
[error] Not a valid command: sth (similar: set, last, shell)
[error] Expected ''/''
[error] Expected '':''
[error] Not a valid key: sth (similar: test, state, watch)
[error] sth
[error] ^
Y la información de "necesita proporcionar el nombre del archivo de origen" la proporciona mi proyecto de Scala para indicar que main no obtuvo ningún argumento de la CLI.
¿Es algo que funcionó en la versión anterior de sbt (en la pregunta referida), o estoy haciendo algo mal?
Eso es un error en el lanzador 0.12.1: https://github.com/sbt/sbt-launcher-package/issues/34