0

web.xml と app-engine-web.xml の代わりに app.yaml を使用するように切り替えようとしています。ドキュメントに忠実に従おうとしましたが、エラーが表示さappconfig.cmd update <my-war-directory>れます

Reading application configuration data...
Bad configuration: Line 18, column 13: Error setting property 'handlers' on class: com.google.apphosting.utils.config.AppYaml
  Caused by: Line 18, column 13: Error setting property 'handlers' on class: com.google.apphosting.utils.config.AppYaml
Please see the logs [C:\Users\<blah blah>\appcfg3710135744474388957.log] for further information.

示されたログ ファイルに、次の行を含むスタック ダンプが表示されます。

com.google.appengine.repackaged.net.sourceforge.yamlbeans.tokenizer.Tokenizer$TokenizerException: Line 18, column 13: Found a mapping value where it is not allowed.

ここに私のファイルがあります(手動で行番号が追加されています):

1  application: my-app
2  version: 1
3  runtime: java
4  threadsafe: true
5
6  public_root: /static
7
8  static_files:
9   - include: /**
10
11 welcome_files:
12  - index.html
13
14 system_properties:
15   java.util.logging.config.file: WEB-INF/logging.properties
16  
17 handlers:
18   - url: /user/*
19      servlet: org.restlet.ext.servlet.ServerServlet
20      name: user
21      init_params:
22        org.restlet.application: com.my-app.server.resource.user.UserApplication
23        org.restlet.clients: HTTP HTTPS

Web でいくつかの YAML バリデーターを試してみたところ、実際には、13 列目が「サーブレット」の後の「:」文字を指している 19 行目について不平を言っていると思います。しかし、この使用法はhttps://developers.google.com/appengine/docs/java/configyaml/appconfig_yaml#Required_Elementsのドキュメントと完全に一致しているように見えます

私は愚かなことをしていると確信していますが、困惑しています。

4

2 に答える 2

0

上で指摘したように、原因は 19 行目から 21 行目のインデントでした。18 行目から「url」の「u」の下に配置する必要があります。

于 2012-06-25T16:45:13.523 に答える
0

AndyD さん、貴重なご意見をありがとうございます。ドキュメントが更新され、問題のあるサンプル コードが修正されました。

私にとっては、yaml バリデーターを使用して yaml ファイルをチェックすることも非常に便利です。例: http://data-lint.herokuapp.com/

ありがとう。

于 2012-06-13T21:59:32.433 に答える