title: Why do JVM arguments start with "-D"?
body: <p>Why do we need to prefix JVM arguments with <code>-D</code> e.g. when running a jar from the command line? E.g.</p>
  
  <pre><code>java -jar -DmyProp="Hello World" myProgram.jar
  </code></pre>
  
  <p>is used to run <code>myProgram.jar</code> with the system parameter <code>myProp</code>. So why the leading <code>-D</code>? Why couldn't the architects of Java let us simply do:</p>
  
  <pre><code>java -jar -myProp="Hello World" myProgram.jar
  </code></pre>
  
  <p>I'm hoping for an answer beyond just "Because that's the way it is". </p>
  
  <p><strong>Bonus Question:</strong> Why the letter <code>-D</code> as opposed to any other letter, does it stand for anything?</p>
  
  <hr>
  
  <p><strong>Note:</strong> This question asks <em>why</em> there was a need to use "D", or any other letter for that matter, in the first place. It is less concerned with the choice of specific letter "D" over any other letter, though that is asked as a bonus question.</p>
  
  <p>The bonus question has an answer here: <a href="https://stackoverflow.com/questions/12518728/in-java-d-what-does-the-d-stand-for">In java -D what does the D stand for?</a>.</p>