Какая польза от опции C в jshell

Я прошел введение в руководство по jshell и не смог найти описание / примеры опции -C в jshell.

$jshell --help
 -C<flag>              Pass <flag> to the compiler.
                        Use one -C for each compiler flag or flag argument

2 ответа

Решение

Вы можете использовать эту опцию, чтобы использовать javac аргументы командной строки, например, рассмотрим этот кусок кода:

String str = (String)"Hello"

начало jshell обычно и использование того же результата приведет к:


В то же время вы можете включить ошибки компиляции при предупреждении (-Werror) и использовать -Xlint ключ cast во время компиляции, чтобы предупредить вас о явном приведении, использованном в приведенном выше коде, используя -

jshell -C-Xlint:cast -C-Werror

и тот же оператор приведет к предупреждению и ошибке от компилятора Jshell, как:-


Хотя IMO, это определенно задокументировано гораздо меньше с точки зрения того, что все флаги должны / не должны использоваться при использовании JShell -C опция командной строки.

Для передачи параметров в javac компилятор, который jshell собирается запустить, чтобы скомпилировать операторы в вашем REPL. Один простой пример (чтобы увидеть, какие классы загружены), jshell -C-verbose, См. Также Стандартные параметры для javac и Дополнительные параметры для javac для дополнительных параметров, которые вы можете указать.

Другие вопросы по тегам