首页 文章

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

提问于
浏览
2

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

一切正常,但我找不到谷歌应用引擎为 Spring 季启动应用加载正确的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应用引擎只是在没有传递任何参数的情况下启动战争就行不通,那么有没有办法为Google上的应用/服务定义环境变量,我可以存储数据库网址和特定于环境的凭据等内容?

谢谢你的帮助 .

2 回答

  • 0

    尝试使用 jvmFlags 参数启动具有所需属性的应用程序,https://cloud.google.com/appengine/docs/standard/java/tools/maven#development_server_goals

    <jvmFlags>
      <jvmFlag>-Dspring.profiles.active=prod</jvmFlag>
    </jvmFlags>
    
  • 0

    如果使用 App Engine flexible environment ,请在 app.yaml 中添加以下内容

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

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

    如果使用 App Engine standard environment ,请在 appengine-web.xml 中添加以下内容:

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

相关问题