如何在App Engine v1.9.18中将app.yaml与Java运行时一起使用?

时间:2015-04-29 04:21:45

标签: java google-app-engine

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

我首先尝试了mvn clean install错误,因为.xml文件丢失了:

  

[错误]无法执行目标org.apache.maven.plugins:maven-war-plugin:2.4:war(默认战争)项目roger-analytics:组装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

1 个答案:

答案 0 :(得分:2)

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

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

    < / LI>
  • appcfg.py抱怨Unexpected attribute 'servlet' for object of type URLMap.

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

因此,最后,您需要使用appcfg.sh

相关问题