【问题标题】:What generated my "appengine-web.xml" file?是什么生成了我的“appengine-web.xml”文件?
【发布时间】:2020-11-18 10:48:28
【问题描述】:

我继承了一个配置为在 Google App Engine 中运行的 Java 应用程序。我的 pom 包含 com.google.appengine.appengine-maven-plugin 插件,它可能与此问题相关,也可能不相关。

在我的 src 目录中,在 WEB-INF 目录中,我有一个“app.yaml”文件。但是当我的项目构建成war时,目标目录既有“app.yaml”文件,又有“appengine-web.xml”文件。这个“appengine-web.xml”文件是怎么来的?

这个“appengine-web.xml”文件的第一行是<!-- Generated from app.yaml. Do not edit. -->。如果这个文件是从“app.yaml”文件生成的,那么它是由什么生成的?哪个插件/函数创建了这个文件?

【问题讨论】:

    标签: java maven google-app-engine google-cloud-platform


    【解决方案1】:

    官方文档中提到appengine-web.xml Reference

    App Engine Java 应用程序使用名为 appengine-web.xml 的配置文件来指定有关您的应用程序的信息,并确定应用程序的 WAR 文件中哪些文件是静态文件(如图像),哪些是由应用。

    因此,这是默认情况下由 App Engine 环境在使用 App Engine Maven 插件时创建的,因此您可以处理一些特定的设置和配置。您可以找到有关这些设置的更多详细信息here,但它包括环境变量的设置、如何扩展应用程序 - 手动、基本或自动等。除此之外,您可以查看 sample app 的这个示例被部署到战争中并且文件也被创建。 请记住,这仅适用于 Java 8。

    总而言之,此文件是在使用此插件时由 App Engine 环境创建的,而不是由特定函数创建的。在这个官方文档here 中,它也表明了这一点:

    您用来创建项目的工件已经为您完成了基本的 src/main/webapp/WEB-INF/appengine-web.xml 配置

    因此,这证实了它是通过插件创建的。除此之外,它还显示了与 app.yaml 的关系消息,因为它们一起工作,并且它们中的每一个都有特定的用途和设置,这些用途和设置是您的应用程序正常工作所需的。

    如果这些信息对您有帮助,请告诉我!

    【讨论】:

    • 您确信该文件是由 App Engine 环境而不是 App Engine Maven 插件创建的?我问是因为在我更新到较新版本的 App Engine Maven 插件后文件停止自动生成。所以我想确定这种变化是否相关。
    • 嗨 @MathewAlden 是的,它是由插件创建的,因为它也只与 Java 应用程序有关,抱歉,如果我一开始的回答不是很清楚 - 我也感谢您发布答案,以及您从插件开发人员那里收到的确认信息。如果您能删除您的反对票,我将不胜感激,因为在您发布您的答案之前我无法编辑我的答案。 :)
    • 抱歉我有点仓促投反对票;我已经取消了。但是,尽管您的答案是正确的,但我不确定您引用的答案是否相关。您在第 4 段中提供的 URL 是关于生成 appengline-web.xml 的 archetype ;在我的例子中,appengine-web.xml 是在没有原型的情况下生成的,根据开发人员的说法,这是一个未记录的功能,大约在 2 年前被删除。
    • 此外,您的回答说 app.yaml 是“您的应用程序正常工作所必需的”。但是我认为只有在部署到灵活的服务器时才需要 app.yaml?这意味着在标准服务器上运行的许多应用程序中不需要它。对吗?
    • 感谢您删除反对票 :) 。当然,我理解你的疑惑。正如我在提供的链接中所阐明的那样,如果您不使用该 Maven 插件,它已被弃用,因为建议现在使用 Cloud SDK - 如通知here。我建议您在 Google issue tracker 中提出一个错误,以防您希望在文档中对此进行更改。
    【解决方案2】:

    这是 App Engine Maven 插件的一项未记录的功能,大约在两年前被删除。

    https://github.com/GoogleCloudPlatform/app-maven-plugin/issues/426#issuecomment-665757462

    【讨论】:

      猜你喜欢
      • 2011-01-19
      • 2020-05-14
      • 2010-09-15
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      • 2012-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多