Java -D sistemos ypatybės: sintaksė, prioritetas ir pavyzdžiai


Paskelbimo data:

Atnaujinta:


Techniniai straipsniai > Java -D sistemos ypatybės: sintaksė, prioritetas ir pavyzdžiai

2026 m. būsena ir saugus naudojimas

Trumpai: norėdami apibrėžti JVM sistemos ypatybę, įrašykite -Dname=value prieš pagrindinės klasės pavadinimą arba argumentą -jar. „Java“ kodas reikšmę perskaito su System.getProperty("name"); tai nėra operacinės sistemos aplinkos kintamasis.

Ką išmoksite

  • Kaip „Java“ paleidimo priemonė analizuoja -D parinktis ir kur saugoma reikšmė.
  • Kaip tikrinti ypatybes neatskleidžiant slaptų duomenų komandų eilutėje ar procesų sąraše.
  • Kaip originalus „Java 11“ pavyzdys susiejamas su dabartiniais palaikomais JDK leidimais.

Kam skirtas straipsnis: „Java“ kūrėjams ir sistemų administratoriams, kurie diagnozuoja nuo aplinkos priklausančią programos konfigūraciją.

2026 m. kontekstas: šis mechanizmas tebėra aktualus, tačiau prisijungimo duomenims naudokite slaptų duomenų saugyklą arba apsaugotą konfigūracijos šaltinį. Toliau užfiksuotas pradinis „Java 11“ bandymas nėra rekomendacija slaptus duomenis perduoti -D argumentais.

Saugos pastaba: pradinio straipsnio komandos ir konfigūracijos pavyzdžiai nebuvo iš naujo išbandyti dabartinėje produkcinėje aplinkoje. Prieš juos taikydami atskiroje bandymo aplinkoje patikrinkite palaikomas versijas, atsargines kopijas, prieigos kontrolę ir grįžimo prie ankstesnės būsenos veiksmus.

Pagrindiniai oficialūs šaltiniai

Apžvalga

„Java“ paleidimo parinktyse dažnai matomos tokios reikšmės kaip -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager – nesvarbu, ar programa paleidžiama komandų eilutėje, ar IDE, pavyzdžiui, „Eclipse“.

Eclipse VM argumentų laukas su java.util.logging.manager sistemos ypatybe

Šiame straipsnyje parodoma, kaip parinktis -Dname=value tampa „Java“ sistemos ypatybe.

Turinys

  1. Ką daro parinktis -D?
  2. Išvada

1. Ką daro parinktis -D?

„Java“ paleidimo priemonė parinktimi -Dname=value naujoje JVM nustato sistemos ypatybę. Parinktis turi būti pateikta prieš pagrindinės klasės pavadinimą arba argumentą -jar.

Toliau pateiktame pavyzdyje nustatoma ypatybė test ir jos reikšmė perskaitoma „Java“ kode.

1-1. Sistemos ypatybės perskaitymas „Java“ kode

Į „Eclipse“ paleidimo konfigūraciją įrašykite -Dtest=testoption, kaip parodyta toliau.

Eclipse paleidimo konfigūracija su -Dtest=testoption argumentu

Sukurkite paprastą pagrindinę klasę.

Java klasė, perskaitanti test sistemos ypatybę su System.getProperty

Paleista klasė iškviečia System.getProperty("test") ir išveda reikšmę testoption.

Eclipse konsolė, kurioje išvesta sistemos ypatybės reikšmė testoption

Paleidžiant JVM nustatyta ypatybė per visą tos JVM veikimo laiką pasiekiama per klasę System.

2. Išvada

Ne slaptoms JVM sistemos ypatybėms, kurios turi skirtis tarp paleidimų ar aplinkų, naudokite -Dname=value ir perskaitykite jas su System.getProperty. Prisijungimo duomenis bei kitus slaptus duomenis laikykite apsaugotame konfigūracijos šaltinyje, o ne komandų eilutės argumentuose.