Search code examples
javajava-9jvm-argumentsjshell

How to pass JVM options to jshell while starting it


I want to do the following :

jshell -v -Duser.country=FR -Duser.language=fr

So as to get for example a personalized Locale.getDefault().


Solution

  • $ jshell -R -Dtest1=one
    |  Welcome to JShell -- Version 11.0.1
    |  For an introduction type: /help intro
    
    jshell> System.getProperty("test1")
    $1 ==> "one"
    

    It's documented in the help options

    $ jshell -h
    Usage:   jshell <option>... <load-file>...
    where possible options include:
        --class-path <path>   Specify where to find user class files
        --module-path <path>  Specify where to find application modules
        --add-modules <module>(,<module>)*
                              Specify modules to resolve, or all modules on the
                                module path if <module> is ALL-MODULE-PATHs
        --enable-preview      Allow code to depend on preview features of this release
        --startup <file>      One run replacement for the startup definitions
        --no-startup          Do not run the startup definitions
        --feedback <mode>     Specify the initial feedback mode. The mode may be
                                predefined (silent, concise, normal, or verbose) or
                                previously user-defined
        -q                    Quiet feedback.  Same as: --feedback concise
        -s                    Really quiet feedback.  Same as: --feedback silent
        -v                    Verbose feedback.  Same as: --feedback verbose
        -J<flag>              Pass <flag> directly to the runtime system.
                                Use one -J for each runtime flag or flag argument
        -R<flag>              Pass <flag> to the remote runtime system.
                                Use one -R for each remote flag or flag argument
        -C<flag>              Pass <flag> to the compiler.
                                Use one -C for each compiler flag or flag argument
        --version             Print version information and exit
        --show-version        Print version information and continue
        --help, -?, -h        Print this synopsis of standard options and exit
        --help-extra, -X      Print help on non-standard options and exit