首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自动化春云剖面

自动化春云剖面
EN

Stack Overflow用户
提问于 2020-02-14 12:48:27
回答 2查看 206关注 0票数 0

其实有点小问题。

我要切换我的bootstrap.yml的网址

它看起来如下:

代码语言:javascript
复制
spring:
  application:
    name: <project-name>
  profiles:
    active: dev
  cloud:
    config:
      uri: http://<git-repository>:8080
      fail-fast: false

这是可行的,但我希望有一个属性或任何可以切换的东西,如果是在本地或其他环境。

我试着看这些文档,但没有看到任何工作为我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-14 13:04:17

我不认为Spring与任何Spring应用程序有什么不同,所以您可以使用Spring配置文件。

在这个答案上也有类似的建议:https://stackoverflow.com/a/22759706/6908551

您可以为云配置uri定义一个单独的.yml文件,比如cloud-config-dev.ymlcloud-config-prod.yml。然后,对于Java配置,您可以拥有如下内容:

代码语言:javascript
复制
@Configuration
public class MyApplicationConfiguration {

    @Bean
    public static PropertySourcesPlaceholderConfigurer propertyPlaceholderConfigurer() {
        String activeProfile = System.getProperty("spring.profiles.active", "production"); 
        String ymlFilename = "cloud-config-" + activeProfile + ".yml";

        PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
        configurer.setLocation(new ClassPathResource(ymlFilename));

        return configurer;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2020-02-14 13:44:36

我将按环境定义一个bootstrap.yml文件。

src/main/resources中定义默认的bootstrap.yml文件,并为每个环境定义一个特定的bootstrap.yml文件。

那么有多种方法。

并非详尽无遗:

1)对于配置文件不同的每个环境,通过指定具有预期值的系统属性spring.cloud.bootstrap.location来运行spring,如:

java -jar ... -Dspring.cloud.bootstrap.location=bootstrap-dev.yml ...

它覆盖该文件的当前位置。

2)利用Spring特性:bootstrap.yml兼容。例如,如果启用了dev配置文件,将使用类路径中的bootstrap-dev.properties

我倾向于使用第一种方式,因为这对于非Spring用户来说更加明确。

来源:1.3改变自举特性的位置

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60226678

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档