es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  , , ,

Answer

  1. Avatar for 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:

    $ env SYS_PROPS="-Druta.a.carpeta=/opt/micarpeta" scala
    

    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.

Comments are closed.