环境变量在Elastic Beanstalk Procfile中不可用

时间:2017-01-09 00:32:54

标签: java amazon-web-services elastic-beanstalk procfile

我正在尝试使用环境变量通过Procfile配置我的弹性beanstalk java应用程序,如下所示:

web: ./bin/myservice -Dhttp.port=$PORT

我的beanstalk环境的“软件配置”屏幕中的AWS ui设置了PORT环境变量。

但是,日志表明$PORT未进行插补:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.whatever.services.myservice.Main.main(Main.scala)
Caused by: java.lang.NumberFormatException: For input string: "$PORT"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:569)

将选项传递给我的应用程序的正确方法是什么?

编辑1:这似乎是与sbt native packager插件相关的问题,我用它来创建项目的可分发zip存档。它生成的bin / myservice文件是按字面解释$ PORT并将其传递给应用程序。

1 个答案:

答案 0 :(得分:2)

尝试从-Dhttp.port=$PORT删除Procfile

在ui in"软件配置"尝试将变量JAVA_OPTS设置为-Dhttp.port=9000(用你的nginx代理使用的任何端口替换9000 - 我相信5000是默认值。)

enter image description here