Cómo pasar las propiedades del sistema en la línea de comandos al ejecutable de Scala 3.
Con scala 2 era posible pasar propiedades del sistema en la línea de comandos usando -D<propname>=<propvalue>
como en el siguiente ejemplo:
$scala -Dpath.to.folder=/opt/myfolder
Scala v3 ya no acepta -D en la línea de comandos:
$ scala -Dpath.to.folder=/opt/myfolder
se ignoró la opción incorrecta '-Dpath.to.folder=/opt/myfolder'
Welcome to Scala 3.1.0 (11.0.9.1, Java OpenJDK 64-Bit Server VM).
Una posible solución (solución alternativa) es pasar las propiedades a través del entorno:
$ env SYS_PROPS="-Dpath.to.folder=/opt/myfolder" scala
Welcome to Scala 3.1.0 (11.0.9.1, Java OpenJDK 64-Bit Server VM).
Type in expressions for evaluation. Or try :help.
<p>scala> println(System.getenv().get("SYS_PROPS"))
-Dpath.to.folder=/opt/myfolder</p>
<p>scala>
¿Cómo es posible pasar propiedades del sistema en la línea de comandos de ejecutables de Scala 3?
scala --help
no proporciona ninguna información útil. De hecho, en scala 3.1.0, scala --help
y scalac --help
imprimen el mismo mensaje en la salida estándar.
davy.ai
Lamentablemente, no es posible pasar propiedades del sistema en la línea de comando de ejecutables de Scala 3 usando la sintaxis
-D<nombreprop>=<valorprop>
. Como se menciona en la pregunta, esta funcionalidad ha sido eliminada.Una posible solución alternativa es pasar las propiedades a través del entorno configurando la variable de entorno
SYS_PROPS
a una cadena que contenga las propiedades del sistema que se desean pasar, como en el siguiente ejemplo:Esto iniciará el REPL de Scala 3 con la propiedad del sistema especificada configurada. También es posible configurar variables de entorno en un script o en el archivo de configuración de la shell para evitar tener que escribir el comando
env
cada vez.Lamentablemente, el comando
scala --help
no proporciona información sobre cómo pasar propiedades del sistema a los ejecutables de Scala 3.