Wat doet de optie -D bij het starten van Java?
Datum van publicatie:
Bijgewerkt:
Artikelen > Wat is de D-optie (-D) bij het opstarten van Java?
2026 status en veilig gebruik
Conclusie: Plaats -Dname=value vóór de hoofdklasse of -jar argument om een JVM systeemeigenschap te definiëren. Java code leest het met System.getProperty("name"); het is niet hetzelfde als een omgevingsvariabele van het besturingssysteem.
Wat je zult leren
- Hoe de Java lanceerder ontleedt
-Dopties en waar de waarde wordt opgeslagen. - Hoe eigenschappen te inspecteren zonder het lekken van geheimen in commandolijnen of proceslijsten.
- Hoe de originele Java 11 voorbeeld kaarten naar de huidige ondersteunde JDK releases.
Voor wie: Java-ontwikkelaars en operators diagnosticeren omgevingsspecifieke toepassingsconfiguratie.
Actualisatie voor 2026: Het mechanisme blijft actueel, maar gebruikt een geheim manager of beschermde configuratiebron voor referenties. De walkthrough hieronder registreert de originele Java 11 test en mag niet worden gelezen als een aanbeveling om geheimen in -D argumenten.
Veiligheidsopmerking: de opdrachten en configuratievoorbeelden uit het oorspronkelijke artikel zijn niet opnieuw in een moderne productieomgeving uitgevoerd. Controleer ondersteunde versies, back-ups, toegangsbeheer en terugrolstappen eerst in een afzonderlijke testomgeving.
Officiële primaire bronnen
Overzicht
Een systeemeigenschap staat vóór de hoofdklasse of de optie -jar, bijvoorbeeld "-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager". Voeg de eigenschap in Eclipse toe bij "Uitvoerconfiguratie ⇒ VM-argumenten", zoals in de volgende afbeelding.
In deze sectie wordt uitgelegd wat er gebeurt wanneer de optie '-DXXXXXX' wordt toegevoegd.
Inhoudsopgave
1. Wat is de D optie (-D)?
De optie -D definieert bij het starten van de JVM een Java-systeemeigenschap. De toepassing kan de waarde daarna met System.getProperty lezen.
1-1. Wat gebeurt er als je het uitvoert met de D optie (-D)
Voeg in Eclipse "-Dtest=testoption" toe aan de VM-argumenten van de uitvoerconfiguratie, zoals hieronder.
Maak een eenvoudige hoofdklasse zoals hieronder getoond.
Het uitvoeren van deze hoofdklasse laat zien dat de waarde "testoption" als volgt kan worden verkregen met "test" als argument.
Een systeemeigenschap die bij het starten van Java is ingesteld, kan via de klasse System worden gelezen.
2. Conclusie
Met -D geef je waarden door aan de JVM die de toepassing via System kan lezen. Dit is bijvoorbeeld bruikbaar voor instellingen die per omgeving verschillen.



