접두사 -D
java -jar -DmyProp="Hello World" myProgram.jar
이처럼 옵션을 줄 때 -D 접두사를 붙여서 주는 이유가 무었일까??
java -jar -myProp="Hello World" myProgram.jar
접두사를 빼는 것이 훨씬 간단해보이는데..
접두사를 붙이지 않는다면 JVM에 설정된 옵션인 표준 JVM 옵션과 구별되는 시스템 속성으로 판단할 수 없기 때문에 붙여서 구별하는 것이다.
아래는 표준 옵션을 정의한 것이다. 이것은 실행할 때 에러를 발생시킨다.
java -jar -client="davidxxx" myProgram.jar -- 표준 옵션 client
인식할 수 없는 옵션: -client=davidxxx
접두사를 사용 하면 표준 JVM 옵션과 구별되는 시스템 속성으로 정의되어 있으므로 -D-client를 설정할 수 있다.
java -jar -D-client="davidxxx" myProgram.jar
-- 두 옵션 모두 사용 가능
java -jar -client -D-client="davidxxx" myProgram.jar
D 가 DEFINE 을 의미한다.
C/C++ 컴파일러에서 동일하게 옵션 설정을 할 때 구분을 위해 접두사를 붙이는 것에서 유래되었다고 한다.
D 만 사용하는 것이 아니라 D, X, XX 여러가지가 있다.
Why do JVM arguments start with "-D"?
Why do we need to prefix JVM arguments with -D e.g. when running a jar from the command line? E.g. java -jar -DmyProp="Hello World" myProgram.jar is used to run myProgram.jar with the system para...
stackoverflow.com
In Java -D what does the D stand for?
What does the D in -Dproperty=value Set a system property value. Of the Java application launcher stand for? For some reason it's been bothering me, why D?
stackoverflow.com
접두사 -D
java -jar -DmyProp="Hello World" myProgram.jar
이처럼 옵션을 줄 때 -D 접두사를 붙여서 주는 이유가 무었일까??
java -jar -myProp="Hello World" myProgram.jar
접두사를 빼는 것이 훨씬 간단해보이는데..
접두사를 붙이지 않는다면 JVM에 설정된 옵션인 표준 JVM 옵션과 구별되는 시스템 속성으로 판단할 수 없기 때문에 붙여서 구별하는 것이다.
아래는 표준 옵션을 정의한 것이다. 이것은 실행할 때 에러를 발생시킨다.
java -jar -client="davidxxx" myProgram.jar -- 표준 옵션 client
인식할 수 없는 옵션: -client=davidxxx
접두사를 사용 하면 표준 JVM 옵션과 구별되는 시스템 속성으로 정의되어 있으므로 -D-client를 설정할 수 있다.
java -jar -D-client="davidxxx" myProgram.jar
-- 두 옵션 모두 사용 가능
java -jar -client -D-client="davidxxx" myProgram.jar
D 가 DEFINE 을 의미한다.
C/C++ 컴파일러에서 동일하게 옵션 설정을 할 때 구분을 위해 접두사를 붙이는 것에서 유래되었다고 한다.
D 만 사용하는 것이 아니라 D, X, XX 여러가지가 있다.
Why do JVM arguments start with "-D"?
Why do we need to prefix JVM arguments with -D e.g. when running a jar from the command line? E.g. java -jar -DmyProp="Hello World" myProgram.jar is used to run myProgram.jar with the system para...
stackoverflow.com
In Java -D what does the D stand for?
What does the D in -Dproperty=value Set a system property value. Of the Java application launcher stand for? For some reason it's been bothering me, why D?
stackoverflow.com