spring cloud - bootstrap.properties 在我的 jar 之外

问题描述 投票:0回答:3

我正在尝试将

bootstrap.properties
从我的 jar 外部放入,这样它就不会被其他开发人员错误地覆盖。可以在这里请教一下吗?

这是它的内容 - 指向 spring 服务器配置

# application name
spring.application.name=elixium
# The server entry point
spring.cloud.config.uri=http://localhost:8888
java spring spring-cloud spring-cloud-config
3个回答
17
投票

Spring Cloud 使用与 Spring Boot 相同的位置来查找

bootstrap.properties
(或
.yml
)。所以
classpath:,classpath:/config,file:,file:config/
是默认搜索路径,
./config/
是最高优先级。如果您的文件位于
./config
./
中,它应该可以正常工作。
更改位置
的属性 (spring.cloud.bootstrap.location) 与 boot 略有不同。


2
投票

spring.cloud.bootstrap.location
的行为类似于
spring.config.location
(在 Spring Boot 2 中),它替换了这些配置文件的位置。

要使其正常工作,必须将其定义为系统属性。
例如:

带罐子:

java -jar
     -Dspring.cloud.bootstrap.location=anyLocation/bootstrap.yml 
      ...

使用 Spring Boot maven 插件:

mvn spring-boot:run 
   -Dspring-boot.run.jvmArguments="-Dspring.cloud.bootstrap.location=anyLocation/bootstrap.yml"

0
投票

@spencergibb 答案有效(springboot 2.x , spring cloud 2.x)

© www.soinside.com 2019 - 2024. All rights reserved.