Springboot

Centos 7 jar 파일 스프링부트 프로퍼티 구분하기

JunsC 2024. 10. 14. 13:22
728x90

서버에서 스프링으로 할때는  Tomcat 서버로 돌리기 때문에 보통 .war 로 업로드하여 설정하곤 하지만 보안상 이유로 나는 스프링부트를 이용해서 .jar 파일로 업로드 한다. 그때 

 

nohup java -jar xx.jar &  

이 명령어로 백그라운드 무중단 배포를 진행하는데  해당 local.properties 를 구분해놔서 어떻게 구분해놓은 프로퍼티들을 적용해야할지 몰랐다.

 

그래서 한번 구글링해보았다.

 

 

Centos 7 jar 파일 스프링부트 프로퍼티 구분하기

Spring Boot에서 bootJar 명령은 Maven이나 Gradle을 사용하여 애플리케이션을 JAR 파일로 패키징하는 방법입니다. 기본적으로 이 명령은 현재 활성화된 프로파일에 따라 패키징됩니다. 따라서, 프로파일을 설정하지 않으면 기본 프로파일(application.properties)의 설정을 사용하게 됩니다.

 

bootJar 명령과 프로파일

  1. 기본 실행 방법:
  2. 이 명령은 활성화된 프로파일에 따라 JAR 파일을 생성합니다. 기본적으로 application.properties가 사용됩니다.
  3. 특정 프로파일로 실행하기: bootJar 실행 시 특정 프로파일을 활성화하려면 다음과 같이 명령어를 사용합니다.
  4. 이렇게 하면 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 파일 실행 시에도 적용할 있습니다. 이렇게 하면 개발, 테스트, 릴리스 환경에 따라 설정을 쉽게 관리할 있습니다.