java – Google App Engine上Spring Boot App的Maven配置文件

我有一个春季启动应用程序,我想使用应用程序引擎maven插件在Google应用程序引擎上部署.

一切正常,但我找不到Google应用引擎为spring boot app加载正确的application.properties文件的方法.

我有application-prod.properties,application-default.properties和application-test.properties.在本地,我可以轻松选择开始使用的环境/配置文件

mvn appengine:run -Dspring.profiles.active=prod

但是当我尝试为部署工作做同样的事情时,比如说

mvn appengine:deploy -Dspring.profiles.active=prod

这不起作用.它不会加载application-prod.properties,但会回退到application-default.properties.

我是否会错过理解某些东西或者应该这样做?如果这不起作用,因为谷歌应用程序引擎只是在没有传递任何参数的情况下启动战争,有没有办法为Google上的应用程序/服务定义环境变量,我可以存储数据库URL和特定于环境的凭据等内容?

谢谢你的帮助.

最佳答案
如果使用App Engine灵活环境,请在app.yaml中添加以下内容

env_variables:
    JAVA_USER_OPTS: '-Dspring.profiles.active=prod'

这将由运行时添加到JVM启动命令中.有关openjdk-runtime的信息,请参见documentation.默认情况下,您的应用程序使用jetty-runtime,它继承了openjdk-runtime中的选项.

如果使用App Engine标准环境,请在appengine-web.xml中添加以下内容:

<system-properties>
  <property name="spring.profiles.active" value="prod" />
</system-properties>

转载注明原文:java – Google App Engine上Spring Boot App的Maven配置文件 - 代码日志