Utilizzo corretto dei parametri della riga di comando di Java -Djava


Answers

Questo dovrebbe essere:

java -Dtest="true" -jar myApplication.jar

Quindi il seguente restituirà il valore:

System.getProperty("test");

Tuttavia, il valore potrebbe essere null , quindi proteggersi da un'eccezione che utilizza un Boolean :

boolean b = Boolean.parseBoolean( System.getProperty( "test" ) );

Si noti che il metodo getBoolean delega il valore della proprietà di sistema, semplificando il codice a:

if( Boolean.getBoolean( "test" ) ) {
   // ...
}
Question

Quando si passa un parametro -D in Java, qual è il modo corretto di scrivere la riga di comando e quindi di accedervi dal codice?

Ad esempio, ho provato a scrivere qualcosa del genere ...

if (System.getProperty("test").equalsIgnoreCase("true"))
{
   //Do something
}

E poi chiamarlo così ...

java -jar myApplication.jar -Dtest="true"

Ma ricevo una NullPointerException. Che cosa sto facendo di sbagliato?