Java -D системни свойства обяснени: синтаксис, приоритет и примери


Публикувано:

Актуализирано:


Статии › Java -D системни свойства обяснени: синтаксис, приоритет и примери

Състояние през 2026 г. и безопасна употреба

Заключение: Място -Dname=value преди основния клас или -jar аргумент за определяне на собственост на системата JVM. Java код го чете с System.getProperty("name"); не е същото като променливата среда на операционната система.

Какво ще научите

  • Как Java Guncher parses -D опции и къде се съхранява стойността.
  • Как да инспектирате свойства без изтичане на тайни в командни линии или процеси списъци.
  • Как оригиналният пример Java 11 карти към текущата поддържа JDK версии.

За кого е статията: Java разработчици и оператори, диагностициращи специфична за околната среда конфигурация на приложения.

Актуално към 2026 г.: Механизмът остава в сила, но използва таен мениджър или защитен източник на конфигурация за препоръки. Разходката по-долу записва оригиналния тест на Java 11 и не трябва да се чете като препоръка за поставяне на тайни в -D аргументи.

Бележка за безопасност: Командите и конфигурационните примери в първоначалната статия не са изпълнявани повторно в съвременна производствена среда. Преди прилагане проверете поддържаните версии, направете резервно копие и подгответе план за връщане в отделна тестова среда.

Официални източници

Преглед

ClassLoaderLogManager" при стартиране на Java или "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" в "Среда за изпълнение ⇒ Аргументи на ВМ" в Eclipse, както следва. logging.manager=org.apache.juli.ClassLoaderLogManager", както следва в Eclipse.

Екран на Eclipse

По-долу е обяснено какво се случва, когато добавите това '-DXXXXXX'.

Съдържание

  1. Какво представлява опцията D (-D)?
  2. Обобщение

1. Какво представлява опцията D (-D)?

Опцията D (-D) е стойност на системно свойство на Java.

Бих искал действително да го стартирам, за да видя какво се случва, когато задам стойностите на системните свойства.

1-1. Какво се случва, ако го стартирате с опцията D (-D)

Искам да стартирам Eclipse с опцията D (-D). Специфичната опция е "-Dtest=testoption". Настройте, както е показано на схемата по-долу.

Екран на Eclipse

Създайте прост главен клас, както е показано по-долу.

Екран на Eclipse

Изпълнението на този главен клас показва, че стойността "testoption" може да бъде получена с "test" като аргумент по следния начин.

Екран на Eclipse

Това означава, че ако стойността на системно свойство е зададена при стартиране на Java, тя може да бъде получена от класа System.

3. резюме

Опцията D (-D) при стартиране на Java позволява извличане на стойности от класа System. Това се използва например, когато искате динамично да зададете различни стойности за различни среди.

Това са основните стъпки и ограничения, които трябва да имате предвид.