code

application.properties outside jar 파일 방법

starcafe 2023. 7. 7. 19:17
반응형

application.properties outside jar 파일 방법

스프링 부트 참조에 명시된 바와 같이:

응용 프로그램 클래스 경로(예: 병 내부)에서 이름에 대한 적절한 기본 속성 값을 제공하는 application.properties를 가질 수 있습니다.새 환경에서 실행되는 경우 application.properties가 이름을 재정의하는 jar 외부에 제공될 수 있습니다.

이름이 재정의된 중복된 application.properties를 jar 파일과 동일한 경로에 배치합니다. 그러나 다음을 사용하여 응용 프로그램을 실행할 때는

java -jar target/myproject-0.0.1-SNAPSHOT.jar

이름 값은 재정의되지 않고 jar 파일 내부의 application.properties를 참조합니다.저도 해봤어요.

java -Dspring.config.location=/target/application.properties -jar target/myproject-0.0.1-SNAPSHOT.jar

하지만 작동하지 않습니다. 도와주세요.

편집

현재 디렉토리를 다음으로 변경할 때target작동하면 작동합니다.

java -jar myproject-0.0.1-SNAPSHOT.jar

왜요? 왜 길 밖으로 나가서 달릴 수 없는 거죠?

다른 폴더에서 병을 시작하려고 하기 때문에 작동하지 않습니다. 스프링 부팅은 현재 폴더와 관련된 파일/폴더를 찾습니다.

할 수 있는 일:

카피application.properties어느 쪽이든./또는./config/현재 폴더를 기준으로 합니다.

또는 지정-Dspring.config.location:

$ java -Dspring.config.location=target/application.properties -jar target/myproject-0.0.1-SNAPSHOT.jar

유스펠트config~하듯이conig스펠링이 맞으면 작동할 겁니다

언급URL : https://stackoverflow.com/questions/39427675/application-properties-outside-jar-file-how-to

반응형