Skip to content

In Java -D what does the D stand for?

What does the D in


Set a system property value.

Of the Java application launcher stand for? For some reason it’s been bothering me, why D?



I’ve always assumed it was to define the value of a property… possibly a legacy from C compilers, which often use -D as similar to #define in code.

EDIT: The closest I have to a source for this at the moment is some JDK 1.1 documentation which specifies the flag as:

Redefines a property value. propertyName is the name of the property whose value you want to change and newValue is the value to change it to. […]

That at least contains the word “redefine” which is close to “define” 🙂

11 People found this is helpful