배포 환경에 여러 개의 jdk가 있고, 기본 jdk 버전이 jdk8보다 낮은 경우. springboot 애플리케이션을 배포할 때 jdk를 jdk8 이상으로 지정해야 합니다. 문제가 발생합니다. springboot 애플리케이션의 외부 구성 파일을 로드할 수 없으며 항상 애플리케이션 jar로 가져온 기본 구성 파일을 사용합니다.
이 문제를 해결하는 방법에는 아래와 같이 두 가지가 있습니다.
시작 매개변수 추가 --spring.config.additional-location
--spring.config.additional-location
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.additional-location=/opt/test-app/config/application-dev.yml,/opt/test-app/config/application.yml > /opt/test-app/logs/app.log 2>&1 &
注意:--spring.config.additional-location
之后需要加全路径名,若有多个配置文件,可以用英文逗号隔开。特别的,如果多个配置文件在同一个文件夹中,也可以这样配置:
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.additional-location=/opt/test-app/config/ > /opt/test-app/logs/app.log 2>&1 &
添加启动参数 --spring.config.location
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.location=/opt/test-app/config/application-dev.yml,/opt/test-app/config/application.yml > /opt/test-app/logs/app.log 2>&1 &
注意:--spring.config.location
之后需要加全路径名,若有多个配置文件,可以用英文逗号隔开。特别的,如果多个配置文件在同一个文件夹中,也可以这样配置:
nohup /home/jdk1.8.0_251/bin/java -Xms256m -Xmx256m -jar /opt/test-app/jar/service-oa.jar --spring.config.location=/opt/test-app/config/ > /opt/test-app/logs/app.log 2>&1 &
那么,以上两个启动参数有什么区别呢?--spring.config.additional-location
后面的配置文件会和默认配置(springboot应用jar包中打入的配置文件)形成互补的关系,但是它具有更高的优先级。
--spring.config.location
后面的配置文件具有强制性,即一旦添加--spring.config.location
,默认配置(springboot应用jar包中打入的配置文件)就失效了,完全以--spring.config.location
后面的配置文件为准。
在低版本的springboot中,--spring.config.additional-location
并不会生效,这时候只能使用--spring.config.location
了。
比如: 在springboot 2.3.6.RELEASE版本,--spring.config.additional-location
rrreee
--spring.config.additional-location
뒤에 전체 경로 이름을 추가해야 합니다. 구성 파일이 여러 개인 경우 영어 쉼표로 구분할 수 있습니다. 특히, 동일한 폴더에 여러 구성 파일이 있는 경우 다음과 같이 구성할 수도 있습니다. 🎜rrreee🎜🎜🎜시작 매개변수 추가 --spring.config.location
🎜 ul >rrreee🎜참고: 전체 경로 이름은 --spring.config.location
뒤에 추가해야 합니다. 구성 파일이 여러 개인 경우 영어 쉼표로 구분할 수 있습니다. 특히, 동일한 폴더에 여러 구성 파일이 있는 경우 다음과 같이 구성할 수도 있습니다. 🎜rrreee🎜솔루션 비교🎜🎜그렇다면 위 두 시작 매개변수의 차이점은 무엇일까요? --spring.config.additional-location
뒤에 있는 구성 파일은 기본 구성(springboot 애플리케이션 jar 패키지에 입력된 구성 파일)과 보완적인 관계를 형성하지만 더 높은 우선순위. 🎜🎜--spring.config.location
후속 구성 파일은 필수입니다. 즉, --spring.config.location
이 추가되면 기본 구성( springboot 애플리케이션 jar 패키지 입력한 구성 파일)이 유효하지 않으며 --spring.config.location
이후의 구성 파일이 우선합니다. 🎜🎜Notes🎜🎜springboot 하위 버전에서는 --spring.config.additional-location
이 적용되지 않습니다. 현재로서는 --spring만 사용할 수 있습니다. .config.location
지금. --spring.config.additional-location
이 적용되지 않습니다. 🎜위 내용은 다중 JDK 환경에서 springboot 외부 구성 파일을 지정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!