서버에서 스프링으로 할때는 Tomcat 서버로 돌리기 때문에 보통 .war 로 업로드하여 설정하곤 하지만 보안상 이유로 나는 스프링부트를 이용해서 .jar 파일로 업로드 한다. 그때
nohup java -jar xx.jar &
이 명령어로 백그라운드 무중단 배포를 진행하는데 해당 local.properties 를 구분해놔서 어떻게 구분해놓은 프로퍼티들을 적용해야할지 몰랐다.
그래서 한번 구글링해보았다.
Centos 7 jar 파일 스프링부트 프로퍼티 구분하기
Spring Boot에서 bootJar 명령은 Maven이나 Gradle을 사용하여 애플리케이션을 JAR 파일로 패키징하는 방법입니다. 기본적으로 이 명령은 현재 활성화된 프로파일에 따라 패키징됩니다. 따라서, 프로파일을 설정하지 않으면 기본 프로파일(application.properties)의 설정을 사용하게 됩니다.
bootJar 명령과 프로파일
- 기본 실행 방법:
- 이 명령은 활성화된 프로파일에 따라 JAR 파일을 생성합니다. 기본적으로 application.properties가 사용됩니다.
- 특정 프로파일로 실행하기: bootJar 실행 시 특정 프로파일을 활성화하려면 다음과 같이 명령어를 사용합니다.
- 이렇게 하면 application-release.properties 파일의 설정이 사용됩니다.
최종 JAR 파일 생성
최종적으로 생성된 JAR 파일은 build/libs/ (Gradle) 또는 target/ (Maven) 디렉토리에 위치합니다. 이 JAR 파일을 실행할 때도 활성화할 프로파일을 설정할 수 있습니다.
실행 시 프로파일 설정
생성된 JAR 파일을 실행할 때, 프로파일을 설정하여 특정 환경으로 실행할 수 있습니다:
bash
코드 복사
java -jar myapp.jar --spring.profiles.active=release
결론
bootJar 명령은 JAR 파일을 생성하는 과정에서 기본적으로 활성화된 프로파일의 설정을 사용합니다. 릴리스 프로파일을 사용하여 JAR 파일을 생성하려면 spring.profiles.active 속성을 설정하여야 하며, 이 설정은 JAR 파일 실행 시에도 적용할 수 있습니다. 이렇게 하면 개발, 테스트, 릴리스 환경에 따라 설정을 쉽게 관리할 수 있습니다.
'Springboot' 카테고리의 다른 글
Springboot nginx wegsacket ssl 연결 통신 후 [WebSocket Error]java.net.ProtocolException: Expected HTTP 101 response but was '400 ' 에러해결법 (2) | 2024.10.14 |
---|---|
Springboot_ import 오류 (1) | 2024.09.18 |
Springboot_ 이미지 보여주기 (0) | 2024.08.26 |
Springboot_ mybatis type-aliases 설정 (0) | 2024.08.21 |
Springboot_ 실행하자마자 종료되는 이유 (0) | 2024.08.20 |