【问题标题】:How do I use app.yaml with Java runtime in App Engine v1.9.18?如何在 App Engine v1.9.18 中将 app.yaml 与 Java 运行时一起使用?
【发布时间】:2015-04-29 04:21:44
【问题描述】:

我关注了the documentation for using app.yaml with Java,它声称这应该可以工作,并且会自动生成web.xmlappengine-web.xml。但是,它似乎不起作用,也没有提到哪个工具会生成文件。

我首先尝试了mvn clean install,但由于缺少.xml 文件而出错:

[错误] 无法在项目 roger-analytics 上执行目标 org.apache.maven.plugins:maven-war-plugin:2.4:war (default-war):组装 WAR 时出错:需要 webxml 属性(或预先现有的 WEB-INF/web.xml 如果在更新模式下执行)-> [帮助 1]

然后我尝试运行本地开发服务器:

$ gcloud preview app run app.yaml
ERROR: (gcloud.preview.app.run) An error occurred while parsing file: [/Users/blixt/src/roger-api/module_analytics/app.yaml]
Unexpected attribute 'servlet' for object of type URLMap.
  in "/Users/blixt/src/roger-api/module_analytics/app.yaml", line 7, column 12

(顺便说一下,我从dev_appserver.py . 得到了同样的错误)

看来app.yaml毕竟不受支持。我是否遗漏了什么,或者在没有更新文档的情况下删除了支持?

这是我的 app.yaml 文件,它旨在作为我的 Google Cloud App Engine 项目中的一个模块运行(以及其他具有 Python 和 Go 运行时的模块):

module: analytics
runtime: java
api_version: 1

handlers:
- url: /*
  servlet: im.rgr.roger.RogerAnalytics
  login: admin
  secure: always

system_properties:
  java.util.logging.config.file: WEB-INF/logging.properties

【问题讨论】:

    标签: java google-app-engine


    【解决方案1】:

    这里有几个问题。我将描述各种事实,这些事实组合在一起以创建 SDK 边缘案例优势(此信息是 SDK 1.9.21 的最新信息):

    • 要使用Java SDKappcfg.sh 进行部署,您需要在war/WEB-INF/ 文件夹中包含app.yaml

    • appcfg.py 投诉Unexpected attribute 'servlet' for object of type URLMap.

    • gcloud preview app deploy 使用 appcfg.py(或相同的代码库),因此也以相同的方式抱怨


    因此,总而言之,您需要使用appcfg.sh

    【讨论】:

    • 这个答案已经过编辑,因为我最初认为问题多于实际。使用 Java SDK 部署 Java 项目是相当明智的,尽管如果 gcloud 知道这一点而不是默认为 appcfg.py 会很好。我鼓励您提交public issue tracker issue for this,作为功能请求错误报告。
    • 我也有同样的问题,但是在gcloud 告诉我为了避免冲突之后,我在很久以前就删除了独立的 Java SDK (appcfg.sh)。我们一直在使用appengine-maven-plugin,但我正在尝试gcloud-maven-plugin (0.9.68.v20150707)。 gcloudappcfg.sh 有没有简单的方法可以共存?
    • 有人现在创建了一个issue,我已加注星标。
    猜你喜欢
    • 2020-09-01
    • 2015-08-12
    • 2013-10-27
    • 1970-01-01
    • 2016-01-03
    • 2013-03-04
    • 2016-08-10
    • 2013-12-28
    • 1970-01-01
    相关资源
    最近更新 更多