【问题标题】:ElasticBeanstalk Java, spring active profileElasticBeanstalk Java,弹簧活动配置文件
【发布时间】:2016-12-25 14:12:14
【问题描述】:

我正在尝试通过 AWS ElasticBeanstalk 启动 spring boot .jar。一切正常,配置文件“默认”。有谁知道如何为 java ElasticBeanstalk 应用程序(不是 tomcat)设置活动配置文件(spring.profiles.active)。我总是得到“没有活动的配置文件集,回退到默认配置文件:默认”。有没有办法直接设置vm选项?

我已经在 AWS 管理控制台中设置了“spring.profiles.active”环境属性,但它不起作用。

感谢和最好的问候 亚历克斯

【问题讨论】:

    标签: java amazon-web-services spring-boot amazon-elastic-beanstalk


    【解决方案1】:

    设置为环境变量与命令行属性时,大小写不同。尝试在您的 EB 配置中设置 SPRING_PROFILES_ACTIVE。

    【讨论】:

    • @TomG 在哪里可以找到 EB 配置文件??我也有同样的问题。
    • @YogenRai OP 正在设置环境变量(可能是通过 ElasticBeanstalk Web UI)——EB 没有“文件”。
    • 对于遇到此答案的其他任何人。上面的答案是正确的,我们成功地使用了 SPRING_PROFILES_ACTIVE 环境变量。但是,在最近(2019 年 10 月)设置新环境时,我们注意到现在情况发生了变化,应该将环境变量设置为 spring.profiles.active。因此,答案应该是,根据您的弹性 beanstalk 设置,您应该在弹性 beanstalk Web UI 配置选项卡中设置 SPRING_PROFILES_ACTIVE 或设置 spring.profiles.active
    【解决方案2】:

    ElasticBeanStack Web UI 有一个名为 Configuration 的选项卡。在里面,会有一个名为软件配置的盒子(卡)。在那里你需要将SPRING_PROFILES_ACTIVE 设置为prod

    【讨论】:

      【解决方案3】:

      AWS EB 不会将名称中带有点的变量传递给已部署的应用程序。您必须用下划线替换点并使用大写,例如:

      SPRING_PROFILES_ACTIVE=prod
      

      【讨论】:

        【解决方案4】:

        与 AWS LAMBDA 类似:

        $ sam local 中,您在 sam 模板 yml 文件中添加以下行:

        Resources:
           FunctionName:
               Properties:
                   Environment:
                       Variables:
                          SPRING_PROFILES_ACTIVE: local
        

        但在 AWS 控制台中: 在您的 Lambda 环境变量中添加:

        键:JAVA_TOOL_OPTIONS 值:-Dspring.profiles.active=dev

        【讨论】:

          猜你喜欢
          • 2018-11-18
          • 2014-10-14
          • 2016-12-09
          • 1970-01-01
          • 2020-01-24
          • 1970-01-01
          • 2017-09-24
          • 2021-10-03
          • 1970-01-01
          相关资源
          最近更新 更多