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.
По-долу е обяснено какво се случва, когато добавите това '-DXXXXXX'.
Съдържание
1. Какво представлява опцията D (-D)?
Опцията D (-D) е стойност на системно свойство на Java.
Бих искал действително да го стартирам, за да видя какво се случва, когато задам стойностите на системните свойства.
1-1. Какво се случва, ако го стартирате с опцията D (-D)
Искам да стартирам Eclipse с опцията D (-D). Специфичната опция е "-Dtest=testoption". Настройте, както е показано на схемата по-долу.
Създайте прост главен клас, както е показано по-долу.
Изпълнението на този главен клас показва, че стойността "testoption" може да бъде получена с "test" като аргумент по следния начин.
Това означава, че ако стойността на системно свойство е зададена при стартиране на Java, тя може да бъде получена от класа System.
3. резюме
Опцията D (-D) при стартиране на Java позволява извличане на стойности от класа System. Това се използва например, когато искате динамично да зададете различни стойности за различни среди.
Това са основните стъпки и ограничения, които трябва да имате предвид.



