Właściwości systemowe Java z -D: składnia i priorytet
Data publikacji:
Aktualizacja:
Artykuły > Właściwości systemowe Java z -D: składnia i priorytet
Stan na rok 2026 i bezpieczne użytkowanie
Wniosek: Umieść -Dname=value przed główną klasą lub argumentem -jar, aby zdefiniować właściwość systemu JVM. Kod Java odczytuje to za pomocą System.getProperty("name")); to nie to samo, co zmienna środowiskowa systemu operacyjnego.
Czego się nauczysz
- Jak program uruchamiający Java analizuje opcje
-Di gdzie jest przechowywana wartość. - Jak sprawdzać właściwości bez ujawniania tajemnic do wierszy poleceń lub list procesów.
- Jak oryginalny przykład Java 11 jest odwzorowany na aktualnie obsługiwane wersje JDK.
Dla kogo: programistów i operatorów Java diagnozujących konfigurację aplikacji specyficzną dla środowiska.
Stanowisko 2026: Mechanizm pozostaje aktualny, ale do poświadczeń użyj menedżera kluczy tajnych lub chronionego źródła konfiguracji. Poniższy opis opisuje oryginalny test Java 11 i nie należy go czytać jako zalecenia umieszczania kluczy tajnych w argumentach -D.
Uwaga dotycząca bezpieczeństwa: polecenia i przykłady konfiguracji z pierwotnego artykułu nie zostały ponownie uruchomione we współczesnym środowisku produkcyjnym. Przed użyciem sprawdź wspierane wersje, kopie zapasowe, kontrolę dostępu i procedurę wycofania w oddzielnym środowisku testowym.
Oficjalne źródła pierwotne
Przegląd
Właściwość systemową podaje się przed klasą główną lub opcją -jar, na przykład "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager". W Eclipse dodaj ją w polu "Konfiguracja uruchomieniowa ⇒ Argumenty VM", jak na poniższym ekranie.
W tej sekcji wyjaśniono, co się dzieje po dodaniu tej litery "-DXXXXXX".
Spis treści
1. Co to jest opcja D (-D)?
Opcja -D definiuje właściwość systemową podczas uruchamiania JVM. Program może ją następnie odczytać za pomocą System.getProperty.
1-1. Co się stanie, jeśli program zostanie uruchomiony z opcją D (-D)
W Eclipse dodaj "-Dtest=testoption" do argumentów VM konfiguracji uruchomieniowej, jak pokazano poniżej.
Utwórz prostą klasę główną, jak pokazano poniżej.
Wykonanie tej klasy głównej pokazuje, że wartość "testoption" można uzyskać za pomocą argumentu "test" w następujący sposób.
Oznacza to, że jeśli wartość właściwości systemowej jest ustawiona podczas uruchamiania środowiska Java, można ją pobrać z klasy System.
2. Podsumowanie
Opcja D (-D) podczas uruchamiania języka Java umożliwia pobieranie wartości z klasy System. Jest ona używana na przykład wtedy, gdy chcemy dynamicznie ustawiać różne wartości dla różnych środowisk.



