2016년 5월 8일 일요일

[java] vm options: system property ,시스템 프로퍼티, java -D옵션


  • (사용) tomcat run 실행시에 vm options에 -Dfile.encoding=utf8 와 같은 옵션 설정
  • tomcat이 JVM하에서 로드되는건데, system properties 를 통해 JVM통해 TOMCAT까지 전달한다고 생각하면 편함
  • vm options이란? 
    • java file run이란, compile 된 프로그램을 실행하는 것과 같은데
      실행시에 $ ./실행파일 -옵션[VM options] 과 같음
    • 사용 이유: runtime시 (실행시점) 에 결정되는 변수들 설정에 용이
    • [ 사용예시1 ] 지금 어디 인스턴스에서 띄우는지, log configurationfile을 위치 설정할 수 있음
      지금 개발환경/상용환경/QA환경인지 표시해 줄수 있고, 이에 따라 각각 맞는 properties를 띄울 수 있음
    • [ 사용예시2]
      Tomcat Run시에 VM Options --> -Dservice.type =local 설정
      java코드에서 System.getProperty("Dservice.type").equals("local") ? 이에 맞게 각각 설정 가능
  • cf) local,dev,stg등등 개발환경 설정시에
    스프링에서 제공하는 VM option에
    -Dspring.profiles.active=dev 과 같이하면 테스트에 조금 더 유용하긴 함
    우리팀은 maven에서 classpath별로 위치를 잡음

댓글 없음:

댓글 쓰기