spring cloud - 我的jar外面的bootstrap.properties

时间:2016-04-21 07:51:26

标签: java spring spring-cloud spring-cloud-config

我试图将bootstrap.properties放在我的jar之外,所以它不会被其他开发人员错误地覆盖。你能在这里建议吗?

这是'内容 - 指向spring server config

# application name
spring.application.name=elixium
# The server entry point
spring.cloud.config.uri=http://localhost:8888

2 个答案:

答案 0 :(得分:8)

Spring Cloud使用相同的locations as spring boot来查找ear.merge(ejbJar)(或bootstrap.properties)。因此.yml是默认搜索路径,classpath:,classpath:/config,file:,file:config/是最高优先级。如果您的文件位于./config/./config,则应该可以正常使用。属性(./)到change the location与启动略有不同。

答案 1 :(得分:0)

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

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

使用Jar:

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"