Spring Framework와 Tomcat을 사용하는 환경에서 properties를 개발환경과 운영환경을 나눠놓았을 경우입니다. 그럴 때 이클립스에서는 톰캣을 더블클릭하여 open launch configure를 통해 argument("-Dspring.profiles.active=dev")를 넘길 수 있지만 서버(유닉스 또는 리눅스)에서는 어떻게 지정하는지 정리해보려고 합니다.
우분투(리눅스) 환경
간단합니다. 우선 톰캣이 설치되어있는 디렉토리로 이동한 후에 그 아래에 있는 bin 디렉토리로 이동한 후 setenv.sh 파일을 만들어줍니다.
## 개발환경
## export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"
## 운영환경
export JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=ops"
그리고 위의 옵션을 한줄 입력해주고 setenv.sh 파일에 실행권한을 주면 끝입니다. 톰캣을 startup하면 catalina.sh이 실행되는데 그 안에 소스를 열어보면 같은 위치에 setenv.sh파일이 있으면 해당 파일의 옵션들을 지정하고 없으면 안하는식으로 되어있습니다. 따라서 setenv.sh 파일만 잘 만들어주면 옵션은 알아서 적용됩니다.
위에서 개발환경은 dev, 운영환경은 ops로 해놓았는데 이것은 프로젝트마다 다를 수 있기 때문에 맞춰주시면 됩니다.
윈도우 환경
윈도우 환경에서는 setenv.sh 대신 setenv.bat파일을 만들어 주시면 됩니다. 또한 아래와 같이 셋팅해주시면 됩니다.
## 개발환경
## set JAVA_OPTS=%JAVA_OPTS% -Dspring.profiles.active=dev
## 운영환경
set JAVA_OPTS=%JAVA_OPTS% -Dspring.profiles.active=ops