我已经尝试使用我的应用程序的 jar 和 war 版本,但无论我做什么 SPRING_APPLICATION_JSON
在 Elastic Beanstalk 上部署时都会被忽略。当使用同一个 jar 在本地进行测试时,这是可行的。
export SPRING_APPLICATION_JSON='{"server": { "port": 5000 } }'
java -jar my-app-1.0.1-SNAPSHOT.jar
... snip useless output
2016-07-05 12:18:02.877 INFO 10654 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 5000 (http)
2016-07-05 12:18:02.886 INFO 10654 --- [ main] com.me.app.MyApplication : Started MyApplication in 22.827 seconds (JVM running for 23.514)
在 Elastic Beanstalk 中的 AWS 上设置相同的 JSON 时(显示的是 jar 版本)
但是当应用程序在 AWS 中启动时。日志显示它没有看到 server.port
2016-07-05 15:58:33.511 INFO 2267 --- [ main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)
2016-07-05 15:58:33.520 INFO 2267 --- [ main] com.me.app.MyApplication : Started MyApplication in 37.746 seconds (JVM running for 47.043)
为什么这在本地有效但在 Elastic Beanstalk 上无效?
最佳答案
所以经过一些阅读和测试。结果证明这是 Elastic Beanstalk 用户界面中的错误。任何需要报价的属性都不起作用。这与 How to config Meteor on AWS/EBS using METEOR_SETTINGS environment variable 相同
我确实使用 .ebextensions
解决了这个问题。这可以正确地让您插入转义值。
option_settings:
- option_name: SPRING_APPLICATION_JSON
value: {"server":{"port": 5000}}
关于java - spring-boot Amazon Elastic Beanstalk 忽略 'SPRING_APPLICATION_JSON',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38208301/