Systémové vlastnosti Java s voľbou -D: syntax, priorita a príklady


Dátum vydania:

Aktualizované:


Technické články > Systémové vlastnosti Java s voľbou -D: syntax, priorita a príklady

Stav 2026 a bezpečné používanie

Záver: Umiestnite -Dname=value pred argument hlavnej triedy alebo -jar na definovanie systémovej vlastnosti JVM. Kód v Jave ju načíta pomocou System.getProperty("name"); nie je to to isté ako premenná prostredia operačného systému.

Čo sa naučíte

  • Ako príkaz java spracúva voľby -D a kde sa ich hodnoty ukladajú.
  • Ako pracovať so systémovými vlastnosťami bez toho, aby sa citlivé údaje dostali do príkazového riadka alebo výpisu procesov.
  • Ako sa pôvodný príklad pre Javu 11 vzťahuje na aktuálne podporované verzie JDK.

Pre koho je to určené: Vývojári a prevádzkoví správcovia Java aplikácií, ktorí diagnostikujú konfiguráciu pre rôzne prostredia.

Kontext v roku 2026: Mechanizmus zostáva aktuálny, no prihlasovacie údaje ukladajte do chráneného zdroja konfigurácie alebo nástroja na správu tajomstiev. Nasledujúci návod zachytáva pôvodný test v Jave 11; nie je odporúčaním vkladať citlivé údaje do argumentov -D.

Bezpečnostná poznámka: Príkazy a príklady konfigurácie v pôvodnom článku neboli znovu spustené v aktuálnom produkčnom prostredí. Pred ich použitím overte podporované verzie, zálohy, prístupové oprávnenia a postup obnovy v oddelenom testovacom prostredí.

Hlavné oficiálne zdroje

Prehľad

Pri spustení Javy môžete zadať napríklad "java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager". Rovnakú voľbu možno v Eclipse uviesť v poli "Run Configurations ⇒ VM arguments", ako ukazuje nasledujúci obrázok.

Obrazovka Eclipse

Nasledujúci príklad ukazuje, čo sa stane po pridaní voľby "-DXXXXXX".

Obsah

  1. Čo je voľba -D?
  2. Zhrnutie

1. Čo je voľba -D?

Voľba -D nastavuje systémovú vlastnosť Javy.

V nasledujúcom teste sa vlastnosť nastaví pri spustení a potom sa načíta v aplikácii.

1-1. Čo sa stane pri spustení s voľbou -D

V Eclipse nastavte ako argument JVM voľbu "-Dtest=testoption", ako je znázornené na nasledujúcom obrázku.

Obrazovka Eclipse

Potom vytvorte jednoduchú triedu s metódou main.

Obrazovka Eclipse

Po spustení triedy sa pre kľúč "test" načíta hodnota "testoption".

Obrazovka Eclipse

Systémovú vlastnosť nastavenú pri spustení Javy teda možno načítať prostredníctvom triedy System.

2. Zhrnutie

Voľba -D odovzdá pri spustení Javy systémovú vlastnosť, ktorú aplikácia načíta z triedy System. Hodí sa napríklad na nastavenie odlišných hodnôt pre vývojové, testovacie a produkčné prostredie.

Heslá a tokeny však neposielajte cez príkazový riadok; použite na ne chránený zdroj konfigurácie.