Spring Boot 로 어플리케이션을 개발하는 도중에 VM arguments 를 사용하는 상황이 있었다.
프로젝트 오른쪽 버튼 > Run As > Run Configurations > 왼쪽 프로젝트 클릭 > Arguments 선택
아래와 같이 Arguments 를 선택하여 설정할 수 있다.
Program arguments
어플리케이션에 전달되는 인수
main(String[] args) method 의 args 배열을 통해 접근할 수 있다.
VM Arguments
JVM 에 전달되는 인수로 JVM 실행 방법을 구성하고 조정하는데 사용된다.
JVM 에 전달되어 VM 의 동작방식 및 시스템 속성을 정의한다고 보면 된다.
-X 옵션 : JVM Heap Memory(메모리 설정), Permanent Generation, Direct Buffer 크기 지정 등
-D 옵션 : 전역 시스템 속성 정의, 자바 클래스에서 사용할 수 있는 시스템 속성 정의
예) -DKey이름 = Value 형태로 사용
본인은 아래와 같이 properties 파일 내용을 암호화 하기 위해 jasypt 를 사용했다.
예) -Djasypt.encryptor.password=패스워드
System.getProperty(key) 형태로 호출할 수 있다.