Что означают параметры командной строки -D при выполнении java

Я обнаружил, что запускаю java-код из jar-файлов или классов, и мне даны инструкции по установке флагов командной строки, например -Dfoo = bar

При отладке или попытке запустить некоторую слабо документированную функцию у меня возникают проблемы с пониманием того, как значения фактически включаются в работающий код.

Я смотрю на источник, и неясно, как на самом деле загружается набор данных с чем-то вроде -Dfoo = bar.

Главный вопрос, который у меня есть, - что означает -D и как можно ожидать, что он будет виден в исходном коде?

Пожалуйста, обратитесь к официальная документация.

RealSkeptic 08.08.2018 19:12

Этот параметр устанавливает системные свойства, доступные в любом месте кода.

Peter Lawrey 09.08.2018 09:56
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
2
80
1

Ответы 1

Из java -help:

-D<name>=<value>
    set a system property

От страница документации инструмента java:

-Dproperty=value
Sets a system property value. The property variable is a string with no spaces that represents the name of the property. The value variable is a string that represents the value of the property. If value is a string with spaces, then enclose it in quotation marks (for example -Dfoo = "foo bar")

Букву «D» можно представить как «определить». Вы получаете доступ к установленным таким образом значениям через System.getProperty(String), System.getProperty(String,String) или System.getProperties().

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