【问题标题】:app.yaml vs appengine-web.xml which one to use?app.yaml 与 appengine-web.xml 使用哪一个?
【发布时间】:2018-01-30 05:57:33
【问题描述】:

我正在使用 Google App Engine flexible 来部署我的 Spring Boot 应用。我看到配置可以由 app.yaml 或 appengine-web.xml 指定。但是,我的问题是,

  1. 我应该为 Spring Boot 应用程序使用哪个配置文件,yaml 还是 xml?
  2. 如果是 xml,我应该创建 web/WEB-INF/ 文件夹并将 appengine-web.xml 放在该文件夹下吗?
  3. 另外,如果是xml,如何在xml中指定“flex”环境选择(通过哪个属性)?

提前致谢。

【问题讨论】:

  • 在我看来,我认为你应该使用 xml 文件作为静态配置,并且更改较少,因为 xml 语法很复杂。并将 yaml 文件用于顺序更改的应用程序属性。 Yaml 格式是人类可读的。
  • 如果xml配置存在,我认为yaml配置会被忽略?
  • 我怀疑 - 这两个配置文件都没有完全涵盖另一个配置文件所涵盖的 所有 参数。它们相互补充。

标签: java xml google-app-engine spring-boot yaml


【解决方案1】:

您需要同时使用这两个文件。

app.yaml 文件涵盖适用于所有灵活环境应用/服务的配置,无论它们是用何种语言编写的,例如:

web.xml 配置文件有一个非常具体的覆盖范围,它不会与 app.yaml 文件的覆盖范围重叠:

web.xml 文件仅在将 Java 应用程序部署到运行时时使用 其中包括 Jetty9/servlet3 服务器。详情请见the Java 8 / Jetty 9.3 Runtime

至于您的第 2 个问题,您可能一直在查看标准 env 文档(检查文档 URL 中的 docs/standarddocs/flexible 字符串)。来自web.xml

此文件名为web.xml,位于应用程序的 WAR 中 WEB-INF/ 目录。 web.xml 是 servlet 标准的一部分 网络应用程序。

【讨论】:

  • 当然。是的,我知道 Web 应用程序中的 web.xml。我的问题集中在 appengine-web.xml 上,它包含应用引擎的特定配置。
  • 我指的是这个 xml 和属性,请注意一些重叠的属性 cloud.google.com/appengine/docs/standard/java/config/…。所以你的意思是appengine-web.xml只适用于app engine标准环境,灵活只用app.yaml?
  • 是的 - 仅限标准环境。
  • 感谢您的及时回复。
猜你喜欢
  • 2011-05-12
  • 2015-06-25
  • 2017-06-23
  • 2014-12-13
  • 2021-07-12
  • 2011-08-24
  • 1970-01-01
  • 2017-09-17
  • 2011-07-06
相关资源
最近更新 更多