Hvad er D-indstillingen (-D), der angives ved opstart af Java?
Udgivet:
Opdateret:
Artikler › Hvad er D-indstillingen (-D), der angives ved opstart af Java?
Status i 2026 og sikker brug
Konklusion: Placer -Dname=value før hovedklassen eller -jar argumentet for at definere en JVM-systemegenskab. Java-kode læser den med System.getProperty("name"); det er ikke det samme som en operativsystemmiljøvariabel.
Det lærer du
- Hvordan Java-starteren analyserer
-D-indstillinger, og hvor værdien er gemt. - Hvordan man inspicerer egenskaber uden at lække hemmeligheder til kommandolinjer eller proceslister.
- Hvordan det originale Java 11-eksempel knyttes til aktuelle understøttede JDK-udgivelser.
Målgruppe: Java-udviklere og -operatører, der diagnosticerer miljøspecifik applikationskonfiguration.
Aktuel status i 2026: Mekanismen forbliver aktuel, men brug en hemmelighedsadministrator eller beskyttet konfigurationskilde til legitimationsoplysninger. Gennemgangen nedenfor registrerer den originale Java 11-test og bør ikke læses som en anbefaling om at sætte hemmeligheder i -D-argumenter.
Sikkerhedsbemærkning: Kommandoerne og konfigurationseksemplerne i den oprindelige artikel er ikke kørt igen i et aktuelt produktionsmiljø. Kontrollér understøttede versioner, tag backup, og forbered en rollback i et separat testmiljø før ændringerne anvendes.
Officielle kilder
Oversigt
ClassLoaderLogManager", når du starter Java, eller "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" i "Execution environment ⇒ VM arguments" i Eclipse, som følger. logging.manager=org.apache.juli.ClassLoaderLogManager" som følger i Eclipse.
Nedenfor forklares, hvad der sker, når du tilføjer denne "-DXXXXXXXXXX".
Indholdsfortegnelse
1. Hvad er D-indstillingen (-D)?
D-indstillingen (-D) er en Java-systemegenskabsværdi.
Jeg vil gerne køre det for at se, hvad der sker, når jeg indstiller systemegenskabsværdierne.
1-1. Hvad sker der, hvis du kører den med D-indstillingen (-D)
Jeg vil gerne køre Eclipse med D-indstillingen (-D). Den specifikke indstilling er "-Dtest=testoption". Opsæt som vist i nedenstående diagram.
Opret en simpel hovedklasse som vist nedenfor.
Hvis du udfører denne hovedklasse, kan du se, at værdien "testoption" kan fås med "test" som argument på følgende måde.
Det betyder, at hvis en systemegenskabsværdi er indstillet, når Java starter op, kan værdien hentes fra System-klassen.
3. resumé
D-indstillingen (-D), når du starter Java, gør det muligt at hente værdier fra klassen System. Det bruges f.eks. når du ønsker at indstille forskellige værdier dynamisk for forskellige miljøer.
Det opsummerer de vigtigste trin og begrænsninger.



